Improved demo layout
Implemented components form handling
Code reuse
Better controller naming
Route prefix