 
     func getUserId() -> String?
     func getUserEmailVerified() -> Bool
-    func sendEmailVerification<T: State>(to user: User?, core: Core<T>)
+    func sendEmailVerification<T: State>(to user: User?, app: FirebaseApp?, core: Core<T>)
     func reloadCurrentUser<T: State>(core: Core<T>)
     func logInUser<T: State>(with email: String, and password: String, core: Core<T>)
     func signUpUser<T: State>(with email: String, and password: String, core: Core<T>, completion: ((_ userId: String?) -> Void)?)
     func changeUserPassword<T: State>(to newPassword: String, core: Core<T>)
     func changeUserEmail<T: State>(to email: String, core: Core<T>)
-    func resetPassword<T: State>(for email: String, core: Core<T>)
+    func resetPassword<T: State>(for email: String, app: FirebaseApp?, core: Core<T>)
     func logOutUser<T: State>(core: Core<T>)
 }
 

        core.fire(command: ChangeUserEmail(email: email, app: currentApp))
    }
    
    func resetPassword<T: State>(for email: String, core: Core<T>) {
        core.fire(command: ResetPassword(email: email, app: currentApp))
    }
    
    func logOutUser<T: State>(core: Core<T>) {

        return user.isEmailVerified
    }
    
    func sendEmailVerification<T: State>(to user: User?, app: FirebaseApp?, core: Core<T>) {
        let app = app ?? currentApp
        core.fire(command: SendEmailVerification(for: user, app: app))
    }
    
    func reloadCurrentUser<T: State>(core: Core<T>) {
