             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

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

            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 {
