I would refactor the `resetPassword` signature to `resetPassword(password, callback)` and rewrite the existing tests that use the old interface. Otherwise, the logic of this method is more confusing that it needs to be. This method should also trigger an error if this.accountResetToken is not set.