Fixes issue #998.

Fixes multiple issues with the way PR #997 was implemented. 
@TShapinsky instead of updating directly, it's preferable to `broadcast` the change, and let interested parties listen for, and retrieve the broadcast themselves.