navigations now depend on abstract factory
first setup User Service
add register service
add user "authenticate" and "clear identity" services
refactor the controller to use register, authenticate and clearIdentity services
clarify class names in some comments