decoupling messages from user, adding Offline status when user is offlin...

...e