PIM-1544 : Refactoring for Writers

Bug fix: [no]
Feature addition: [no]
Backwards compatibility break: [yes]
Unit test passes: [yes]
Behat scenarios passes: [yes|no]
Checkstyle issues: [no]*
ChangeLog updated: [no]
Fixes the following jira:
 - PIM-1544