Updated publisher such that if it has an internal bus, the internal bus is disposed on the publisher dispose
IPublisher is now an IDisposable