public function addPermission($key, $callable = null)
    {
        if (null !== $callable) {
            $permission = new Permission($callable);
            $permission->key($key);

            $this->permissionList->put($key, $permission);
        } else {
            $permission = new Permission();

            $permission->key($key);
            $this->permissionList->put($key, $permission);
        }

        return $permission;
    }