public static function download($message, $callback = null)
    {
        if (!$callback) {
            static::autoDownload($message['raw'], true);

            return true;
        }

        if ($callback && !is_callable($callback)) {
            throw new ArgumentException();
        }

        call_user_func_array($callback, [static::getResource($message['raw'])]);

        return true;
    }