golang broadcast channel implementation