add really ugly-style MASON dependency
make Medium concrete rather than abstract
create a BroadcastMedium class