added RequiredPermissionsInterface and changed the RequiredPermissions class to remove the constructor and created a set_presix function instead