Added some tests, support for async notification sources, changed some classes to use properties.