started moving over to a more unified Observer/Observable implementation. (because MVC would be overkill?)