<?php
            
/**
 * Attention: The code IS the site. Try and figure me out. 
 * Not a nerd like me? Skip to the last 5 lines.
 */

namespace Norg;

class Person
{
    public $name;
    public $age;
    public $gender;
    public $job;

    private $significant_other;
    private $pet;

    public function setSignificantOther(Person $person)
    {
        $this->significant_other = $person;
        $person->setSignificantOther($this);
        // Love works in both directions (and is unending...)
    }

    public function setPetName($petname)
    {
        $this->pet = $petname;
    }
}

class PersonFactory
{
    public static function create($name, $gender, $age, $job)
    {
        $person = new Person();
        $person->name = $name;
        $person->gender = $gender;
        $person->age = $age;
        $person->job = $job;

        return $person;
    }
}

$Doeke = PersonFactory::create("Doeke Norg", "Man", 26, "Webdeveloper at SQUID design");
$Renate = PersonFactory::create("Renate Norg - van Dis", "Woman", 25, "Nurse at Martini Ziekenhuis");

$Doeke->setPetName("Wi-Fi"); // This is our cat
$Doeke->setSignificantOther($Renate); // Enter endless-love-loop

var_dump($Doeke);