pub fn msg_channel<T>() -> Result<(MsgSender<T>, MsgReceiver<T>), Error>