Refactor watch feature of topic and user