     }
 
     var digits: Int?
-    switch parseDigits(_digitsString) {
+    switch parse(_digitsString, parseDigits) {
     case .Default:
         digits = 6
     case .Result(let result):

                return nil
            }
        } else if host == FactorTimerString {
            switch parsePeriod(_periodString) {
            case .Default:
                factor = Generator.Factor.Timer(period: 30)
            case .Result(let period):

    if let defaultSecret = externalSecret {
        secret = defaultSecret
    } else {
        switch parse(_secretString, parseSecret) {
        case .Default:
            return nil
        case .Result(let data):
