public void Start(IDictionary<string, object> initialMessage, int timeout)
{
if (StreamAction == null)
throw new ArgumentException(string.Format("You cannot use Start() having constructed the client without an action, use Start(<action>) instead."));
Start(StreamAction, initialMessage, timeout);
}