Been a while .
Had a couple of situations lately where I've found the 1 Command to 1 Notification situation problematic. Obviously if you know in advance that you're going to need multiple Commands to respond to a single Notification, you use a MacroCommand, but when you are registering Commands dynamically, it is easy to inadvertantly bump a previously registered Command out of the way with a new one.
To be more specific, I have a Command that registers other Commands to listen to a Proxy's Notifications. Due to the dynamic nature of the setup, it is possible that there might be have been other Commands registered for the same Notifications. I immediately thought a safe way of dealing with this would be to check to see if there are already any Commands registered with the View, and if so, remove them, then place them (Along with the newer Command) into a MacroCommand and reregister that. This would ensure that nothing ever gets bumped. The only problem is that there is no way to retrieve the Command class from the Controller - Controller.hasCommand() returns a Boolean and Controller.removeCommand() returns void.
I find increasing use in dynamically registered Notifications, and it seems to me that this is a fair use case for either the Controller accepting multiple Commands for a single Notification or for the Controller offering access to a registered Command's class.