Pls factor out a broadcaster class that datasource and scale can extend rather than duplicating this code