public Push(Channel channel, string event_, JObject payload, int timeout)
{ //jfis - things seem too tied together. do pushes really need to know which channel they belong to? do channels need to know socket?
_channel = channel;
_event = event_;
_payload = payload ?? Phoenix.EMPTY_JS_OBJECT;
_receivedResp = null;
_timeout = timeout;
_timeoutTimer = new Timer()
{
AutoReset = false,
Interval = _timeout
};
_timeoutTimer.Elapsed += (o, e) => Trigger("timeout", Phoenix.EMPTY_JS_OBJECT);
_recHooks = new List<ReceiveHook>();
//_sent = false;
}