Thanks for reply!
I just figured that first issue wasn't really happening, my own mistake. So it's perfectly alright with notifying.
About third issue - the layout I've tried was like this:
1. LoginFormMediator receives user interaction and passes notification LOGIN_DATA_READY to everyone else.
2. UserLoginCommand is attached to that notification and fires sessionProxy.login with proper arguments.
3. When sessionProxy receives callback from server side it broadcast notification USER_LOGIN_SUCESSFULL
4.1 LoginFormMediator is subscribed to USER_LOGIN_SUCESSFULL
which commands it to remove visual component
4.2 StartApplicationCommand is also attached to that notification and tries to remove LoginFormMediator from mediator list
Hence, as I've noticed StartApplicationCommand is executed earlier than LoginFormMediator notification so LoginFormMediator visual comoponent stays on stage.
I have a suspicion that it is normal behavior and what I did it the right thing.
I've changed event chain so StartApplicationCommand isn't attached to USER_LOGIN_SUCESSFULL and when LoginFormMediator receives USER_LOGIN_SUCESSFULL after it's done removing of visual component it notifies others of START_APPLICATION notification.
Hope this time i'm more clear