public function addMember(PrincipalInterface $pricipal)
    {

        // query whether or not the passed prinicpal is already a member
        $isMember = $this->members->exists($pricipal->getName());

        // if the principal is not a member, add it
        if ($isMember === false) {
            $this->members->add($pricipal->getName(), $pricipal);
        }

        // return if the principal has successfully been added
        return $isMember === false;
    }