Added broadcast convenience function. Might move the factory to a singleton in the future to avoid having to pass it explictly.