/// Provides an unbounded size broadcast async-aware queue
/// A mutex that can be subscribed to, and will notify the subscribers whenever the internal data is changed.
/// A rwlock that can be subscribed to, and will return state to subscribers whenever the internal
/// data is changed.