refactor listeners and workroom notifier; fix Comment::isDeleted()