Now it's time to decouple models from controllers.

After so many prototyping now it's more clear how I can
proceed with this project.
this commit is the starting point of decoupling models
from controllers at AngularJS part.
Some changes in backend to support the idea.