BroadcastManager tracks broadcast variables and controls their identifiers.
Every newBroadcast is given a new and unique identifier.
initialized internal flag on to guard against multiple initializations. With the initialized flag already enabled, initialize does nothing.
initialize is used once when BroadcastManager is created.
newBroadcast[T]( value_ : T, isLocal: Boolean): Broadcast[T]
newBroadcast requests the current
BroadcastFactory for a new broadcast variable.
BroadcastFactory is created when BroadcastManager is initialized.