GH48: Create AbstractController controller

Reviewed and approved. Please, merge to master.