Refactor newsletter app.
Add testcases for newsletter.
Merge branch 'refactor/newsletter'