public static async Task<ConnectionChans> Connect(Settings settings, ChanStore store, Func<string, Uri> p) { var broadcast = p(settings.ChanBroadcastName); //channel name var rT = store.GetReceiverAsync<Message>(broadcast); var sT = store.GetSenderAsync<Message>(broadcast); var k = Chan.Chan.Combine(await rT, await sT); return new ConnectionChans{ Broadcast = k, BsSender = await sT, BsReceiver = await rT }; }