Steve,
Don't hurt the springy thingy, its frail and only made of bits.

In practical terms, first steps to getting a logging system would in my mind, be to get a handle on the Notification traffic.
That would best be done by overriding the notifyObservers method in your ApplicationFacade. It would {do something} then call super with the Notification, so that everything continues as normal.
What that {do something} part is can be whatever.
It could be that you add a timestamped log entry to a logging proxy, which could in turn log client side activity to a server side resource.
It could be you send another Notification that is picked up by a Mediator which dumps the data into a View Component that displays Notification traffic. This wouldn't start an infinite loop, because the ApplicationFacade would not use its own notifiyObservers method to send the logging notification, it would use the View's.
By routing everything through the Facade, not only do we essentially collapse the Model View and Controller into a single actor from the developers point of view, but we have a handy place to intercept traffic.
-=Cliff>