hub refactored, and TransmitToObserver revised to tcp behavior