Added a factory to create broadcast instances
Added interfaces to the broadcast class and its factory