So since SyncHandler.HandleMessage puts the nsq message into `h.broadcast`, I kinda feel that `h` should go inside SyncHandler.  I don't know what this means about abstracting SyncHandlers across blocks, but I think that can be worried about later.