Ну ваш пример конкретно не годится. Логика по работе с выборками, с коллекциями пользователей, с базой и т.д. должна выноситься в репозиторий для вашей сущьности.
Опять же о пользователях — хороший пример — хэширование паролей. Скажем, вы добавили в вашу сущьность поле plainPassword которое заполняется при регистрации скажем. Затем, перед сохранением данных в базу, вызывается ваш сервис, который (если конечно plainPassword не null) и сгенерит новый хэш. Таким образом вся лолгика по хэшированию будет вынесена в отдельный сервис, который вручную не будет вызываться, а будет вызываться автоматически по событию.
Я бы в вашем случае тогда уж использовал ленивую подгрузку модулей ну или Require.js. Сам сейчас свою проблему временно решил небольшим менеджером модулей написанным на скорую руку, просто интересовало можно ли это дело обойти.
Маленькое замечание — все что взаимодействует с DOM в цикле стоит оборачивать в requestAnimationFrame. Это позволит вам избежать лишних итераций, скажем, если браузер свернули или просто перешли на другую вкладку. Порядком экономит ресурсы системы.
Вы можете взять компонент форм из Symfony и использовать его в Yii (возможно придется малость илли не малость изменить модельки, или использовать DTO).
повторюсь: у вас 3 разных действия (изменение пароля, изменение рейтинга, блокировка пользователя) выполняются как одно. Вывод — разнести все по разным действиям, внутри которых и задавать сценарий для модели. RBAC же использовать для проверки, имеет ли данный пользователь права для выполнения действия. Собственно так оно и задумывалось все изначально. Не понимаю откуда возникла такая потребность в одном действии выполнять три столь разные операции.