Factored out broadcast logic
Refactoring to enforce model immutability