public function detachPermission($permission, $reload = true)
    {
        if ( ! $this->hasPermission($permission)) return 0;

        event(new DetachingPermissionFromRole($this, $permission));
        $results = $this->permissions()->detach($permission);
        event(new DetachedPermissionFromRole($this, $permission, $results));

        $this->loadPermissions($reload);

        return $results;
    }