     }
     var keychainItem: Token.KeychainItem?
 
-    required public convenience init(token: Token) {
-        self.init()
-        updateWithToken(token)
-    }
-
     private func updateWithToken(token: Token) {
         self.name = token.name
         self.issuer = token.issuer

    class func tokenWithURL(url: NSURL) -> Self? {
        if let urlString = url.absoluteString {
            if let token = Token.URLSerializer.deserialize(urlString) {
                return self(token: token)
            }
        }
        return nil

    class func tokenWithURL(url: NSURL, secret: NSData? = nil) -> Self? {
        if let urlString = url.absoluteString {
            if let token = Token.URLSerializer.deserialize(urlString, secret: secret) {
                let otp = self()
                otp.updateWithToken(token)
                return otp
            }
        }
        return nil
