подскажи логику как этот механизм сделать?
да вроде не очень сложно:
делаешь отдельную таблицу, модель, ивент(событие) или несколько - мы делали много событий, но кажется это избыточно, слушатель - в нем регистрируешь событие(я);
и при каждом клике юзера - в любом контроллере (а мы еще дергаем так же при сохранениях в БД) - дергаешь это событие, слушатель его ловит и кидаешь из него в модель - сохранить;
а тут уже детали реализации - то ли константами, то ли еще чем - различаешь события, чтобы потмо можно было с ними работать в отчете