     
     // MARK: - Initializers
     
-    init() {}
+    required
+    public init() {}
     
     required
     public init(value: V)

                subPromise.resolve(thenable: onFulfilled(value: value))
            },
            rejectCallback: { (reason) -> Void in
                subPromise.onRejected(reason)
            }
        );
        

            fulfillCallback: { (value) -> Void in
                if let resolution = onFulfilled? {
                    resolution(value: value)
                    subPromise.resolve(nil)
                }
                else {
                    subPromise.resolve(value)
                }
            },
            rejectCallback: { (reason) -> Void in
                if let rejection = onRejected? {
                    rejection(reason: reason)
                    subPromise.resolve( nil)
                }
                else {
                    subPromise.reject(reason)
                }
            }
        );
