Big update to the using of views and controllers

Please read the code for further documentation.