public function recordEnquiry(string $email, string $name, string $subject, string $message, callable $sendMailToAdminCallback) : ContactEnquiry
    {
        $enquiry = new ContactEnquiry(
            $this->clock, new EmailAddress($email), $name, $subject, $message
        );

        $this->repository->save($enquiry);

        $sendMailToAdminCallback($enquiry);

        return $enquiry;
    }