public Channel[] CreateChannels(string[] names, string[] keys = null)
{
var channels = new Channel[names.Count()];
if(keys != null && names.Count() != keys.Count())
throw new ArgumentException("Must have a key for each channel name.");
for (int i = 0; i < names.Length; i++)
{
var channel = keys != null ? new Channel(this, names[i], keys[i])
: new Channel(this, names[i]);
Channels.Add(names[i], channel);
//_listener.ReceivedReply += channel.ProcessReply;
}
// Multiple channels at once
//this.Join(names, keys);
return channels;
}