       super.init()
       create(false)
     }
-    
+
     /**
      Creates a new single or multi key message
-     
+
      - parameter single: Boolean indicating if the message is a single key or not
-     
+
      - returns: Phoenix.Message
      */
     func create(single: Bool = true) -> [String: AnyObject] {

        }
      }
    }
    
    /**
     Sends and event and message through the socket
     
     - parameter event:   String event name
     - parameter message: Phoenix.Message payload
     */

    var message: Phoenix.Message?
    var callback: (AnyObject -> Void?)
    weak var socket: Phoenix.Socket?

    /**
     Initializes a new Phoenix.Channel mapping to a server-side channel

     - parameter topic:    String topic for given channel
     - parameter message:  Phoenix.Message object containing message to send
     - parameter callback: Function to pass along with the channel instance
     - parameter socket:   Phoenix.Socket for websocket connection

     - returns: Phoenix.Channel
     */
    init(topic: String, message: Phoenix.Message, callback: (AnyObject -> Void), socket: Phoenix.Socket) {
      (self.topic, self.message, self.callback, self.socket) = (topic, message, { callback($0) }, socket)
      reset()
    }

    /**
     Removes existing bindings
     */
    func reset() {
      bindings = []
    }

    /**
     Assigns Binding events to the channel bindings array

     - parameter event:    String event name
     - parameter callback: Function to run on event
     */
    public func on(event: String, callback: (AnyObject -> Void)) {
      bindings.append(Phoenix.Binding(event: event, callback: { callback($0) }))
    }

    /**
     Determine if a topic belongs in this channel

     - parameter topic: String topic name for comparison

     - returns: Boolean
     */
    func isMember(topic  topic: String) -> Bool {
      return self.topic == topic
    }

    /**
     Removes an event binding from this cahnnel

     - parameter event: String event name
     */
    func off(event: String) {
