public static function compose($callback = null)
    {
        $mailer = new static();
        $mailer->setSwiftMailer(new \Swift_Mailer($mailer->getTransportInstance()));

        if (!is_null($callback) && $callback instanceof Closure) {
            return $callback($mailer, $mailer->message());
        }

        return $mailer;
    }