         core.fire(command: LogInUser(email: email, password: password, app: currentApp))
     }
     
+    func logInUser<T>(with token: String, core: Core<T>) {
+        core.fire(command: LogInWithCustomToken(token, app: currentApp))
+    }
+    
     func signUpUser<T>(with email: String, and password: String, core: Core<T>, completion: ((_ userId: String?) -> Void)?) {
         core.fire(command: SignUpUser(email: email, password: password, app: currentApp, completion: completion))
     }

        }
    }
    
}

/**

    func sendEmailVerification<T>(to user: User?, app: FirebaseApp?, core: Core<T>)
    func reloadCurrentUser<T>(core: Core<T>)
    func logInUser<T>(with email: String, and password: String, core: Core<T>)
    func logInUser<T>(with token: String, core: Core<T>)
    func signUpUser<T>(with email: String, and password: String, core: Core<T>, completion: ((_ userId: String?) -> Void)?)
    func changeUserPassword<T>(to newPassword: String, core: Core<T>)
    func changeUserEmail<T>(to email: String, core: Core<T>)
