That makes me wonder though:
Avoid retrieving a Mediator from a Command and operating on it.
Shouldn't commands handle the business logic of the application? Sometimes mediators hold the information that command needs.
For example, let's say we have two buttons in our veiw - 'start' and 'start_and_jump'.
Both of them are firing the same notification ANIMATE_BEFORE_START, which will start an animation in different view component.
After the animation ends I will fire "START_GAME" which will invoke "START_COMMAND".
In the "START_COMMAND" I would like to be able to know whether I should jump or not after I start, so my solution is to ask the initial mediator about what happened.
Naturally the perfect solution was to have 2 different notifications, or to pass an additional parameter with the notification, but sadly I can't do it in this case, since the actions are asynchronous.