     
     // MARK: For development and debugging purpose only.
     
+    /**
+        Get an event from Event Server.
+    
+        :param: eventID The event ID
+        :param: completionHandler The callback to be executed when the request has finished.
+    */
     public func getEvent(eventID: String, completionHandler: (NSURLRequest, NSHTTPURLResponse?, AnyObject?, NSError?) -> Void) {
         if let escapedEventID = eventID.stringByReplacingPercentEscapesUsingEncoding(NSUTF8StringEncoding) {
             request(.GET, _getEventFullURL(escapedEventID))

        return "\(baseURL)/events/\(eventID).json?accessKey=\(accessKey)"
    }
    
    public init(accessKey: String, baseURL: String = "http://localhost:7070", timeout: NSTimeInterval = 5) {
        self.accessKey = accessKey
        super.init(baseURL: baseURL, timeout: timeout)
    }
    
    public func createEvent(event: Event, completionHandler: (NSURLRequest, NSHTTPURLResponse?, AnyObject?, NSError?) -> Void) {
        if event.event == Event.UnsetEvent && event.properties?.isEmpty == true {
            // Properties cannot be empty for $unset event

        }
    }
    
    /**
        Deletes a user.
        
        :param: userID The user ID.
        :param: eventTime The event time.
        :param: completionHandler The callback to be executed when the request has finished.
    */
    public func deleteUser(userID: String, eventTime: NSDate = NSDate(), completionHandler: (NSURLRequest, NSHTTPURLResponse?, AnyObject?, NSError?) -> Void) {
        let userEvent = Event(
            event: Event.DeleteEvent,
