I was trying to figure out how to get away without writing add/removeObserver methods on every settings interface.  There were... problems... having the abstract classes inheriting from Observable directly, the notifyObserver functions can't be virtual due to being templates.

I eventually gave up, bit the bullet, and wrote the damn methods.