public function hug(Huggable $huggable)
    {
        // add huggable to the list of hugged objects and return the hug
        if (!in_array($huggable, $this->hugged)) {
            $this->hugged[] = $huggable;
            $huggable->hug($this);
        }
    }