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

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



    var algorithm: Generator.Algorithm?
    switch parse(_algorithmString, parseAlgorithm) {
    case .Default:
        algorithm = .SHA1
    case .Result(let result):
