 
 
     /** Initialize captor with default value */
-    init(_ defaultValue: T? = nil) {
+    public init(_ defaultValue: T? = nil) {
         self.defaultValue = defaultValue
     }
 }



/** This class enables to capture arguments of any types */
class ArgumentCaptor<T> {

    /// Default value for construction
    fileprivate var defaultValue: T?

extension ArgumentCaptor {

    /** Capture an argument of expected type */
    public func capture() -> T {
        let factory = ArgumentFactoryImpl<T>()
        return self.capture(argFactory: factory, argStorage: ArgumentStorageImpl.instance)
    }
