public function addSinglePermission($permission)
    {
        if (is_string($permission))
            return $this->addPermissionByName($permission);
        elseif (is_numeric($permission))
            return $this->addPermissionById($permission);
        elseif ($permission instanceof BridgePermission)
            return $this->addPermissionByObject($permission);
        else
            throw new \InvalidArgumentException('Permission must be a name, ID, or Permission object.');
    }