Code refactoring
Porting to component architecture of "Newsletter" plugin