Please provide enough details to implement below functionality :
I want to write one plugin which provides following functionality :
-Admin can assign user role as MODERATOR to any user, and Only User who have moderator role can approve Topic Creation and Comments/Reply.
-Any new Topic created by registered/guest user should not be visible on the website till MODERATOR User approved it.
-MODERATOR User will be able to see all the unapproved topics, reply/comments and approves it.
-How to implementing email notification functionality for MODERATOR User on New Topic Creation and on Replies/Comments ?