     public var value: V? = nil
     public var reason: NSError? = nil
     
-    var fulfillCallbacks: [FulfillClosure] = []
-    var rejectCallbacks: [RejectClosure] = []
+    lazy var fulfillCallbacks: [FulfillClosure] = []
+    lazy var rejectCallbacks: [RejectClosure] = []
     
     
     // MARK: - Initializers
     
-    required
-    public init() {}
+    init() {}
     
     required
     public init(value: V)

    
    public class func resolve(value: Any?) -> Promise<Any?>
    {
        // TODO: Cast to thenable
        
        switch value {
        case let promise as Promise<Any?>:

        }
    }
    
    // MARK: - Resolve
    
    func resolve(#value: V)
    {
