General improvements

-improved separation model/view/controller
-persistency of the app by saving state in localStorage