simplified Hub as a singleton