Update/Refactor controllers

changes:
* [x] refactor code from new and edit actions by using a form handler
* [x] define form types as service
* [x] add pagination on list actions
* [x] move code to create the preview into a service