                 var events = [Event]()
                 if let eventData = data["events"] as? [[String: String]] {
                     for data in eventData {
-                        if let event = Event.fromDictionary(data) {
+                        if let event = Event(dictionary: data) {
                             events.append(event)
                         }
                     }

            return dict
        }

        static func fromDictionary(dictionary: [String: String]) -> Event? {
            var attributes = dictionary

            if let title = attributes.removeValueForKey(Keys.Title), timeString = attributes.removeValueForKey(Keys.Time), stringValue = attributes.removeValueForKey(Keys.StringValue) {
                
                var time = NSDate()
                if let date = EventLog.JSONTimeFormatter.dateFromString(timeString) {
                    time = date
                }
                
                return Event(title: title, attributes: attributes, stringValue: stringValue, time: time)
            }

            return nil
        }
    }

    var name: String

            self.attributes = allAttributes

        }

        init?(dictionary: [String: String]) {
            var attributes = dictionary
            if let title = attributes.removeValueForKey(Keys.Title), timeString = attributes.removeValueForKey(Keys.Time), stringValue = attributes.removeValueForKey(Keys.StringValue) {

                self.title = title
                self.attributes = attributes
                self.stringValue = stringValue
                
                if let date = EventLog.JSONTimeFormatter.dateFromString(timeString) {
                    self.time = date
                } else {
                    self.time = NSDate()
                }
            }

            return nil
        }

        func offsetSince(startTime: NSDate) -> NSTimeInterval {
