I was wondering if Notifier class can be redefined a little. Currently, it has "facade" member initialized with "Facade.getInstance()". If one wants to use different IFacade implementation in Notifier subclasses, it is impossible. Therefore, if I may suggest, I believe Notifier can be made more extensible by using setter and getter (or just getter) instead of instance variable. Then, it will become possible to override it in subclasses.
I think this is already implemented that way in multicore version.
Best regards,
Damir Murat