Move broadcast handling to new class (BroadcastHandler)