added all tests; added DomEventPublisher