     Self.Database: QuerySupporting,
     Self.Registration: HasReadableUser
 {
-    public static func preRegister(with registration: Registration, on worker: DatabaseConnectable) throws -> Future<Void> {
+    public static func preRegister(
+        with registration: Registration,
+        on worker: DatabaseConnectable
+    ) throws -> Future<Void> {
         return try Self.query(on: worker)
             .filter(Self.usernameKey == registration.username)
             .first()

    ///   - worker: An object for connecting to the database.
    /// - Returns: A future without a value indicating that the user can be created.
    /// - Throws: If the user shouldn't be registered.
    static func preRegister(with: Registration, on worker: DatabaseConnectable) throws -> Future<Void>

    /// Performs work, such as validation, before the user is being updated.
    ///

    Self.Update: HasUpdatablePassword,
    Self: HasPassword
{
    public func preUpdate(
        with update: Update,
        on worker: DatabaseConnectable
    ) throws -> Future<Void> {
        if update.password != nil && (update.username == nil && update.oldPassword == nil) {
            throw AuthenticationError.passwordWithoutUsernameOrOldPassword
        }
