Refactor and improvements

Refactors "classes" to reuse the scopes defined in the module scope instead of recreating them each time a controller instance is created