public function remove(PermissionInterface $permission)
    {
        $this->removeFromLocalCache($permission->key);

        if (! is_null($this->getPermission($permission))) {
            $this->permissions()
                ->detach($permission);
        }

        return true;
    }