         })
     }
 
+    @discardableResult
     open func send(_ event: String,
                      payload: Socket.Payload) -> Push {
         let message = Push(event, topic: topic, payload: payload)

        })
    }

    open func leave() -> Push {
        state = .Leaving



    // MARK: - Control

    @discardableResult
    open func join() -> Push {
        state = .Joining

