def send(msg_type, send_async=False, *args, **kwargs):
message = message_factory(msg_type, *args, **kwargs)<EOL>try:<EOL><INDENT>if send_async:<EOL><INDENT>message.send_async()<EOL><DEDENT>else:<EOL><INDENT>message.send()<EOL><DEDENT><DEDENT>except MessageSendError as e:<EOL><INDENT>err_exit("<STR_LIT>", e)<EOL><DEDENT>
Constructs a message class and sends the message.
Defaults to sending synchronously.  Set send_async=True to send
asynchronously.

Args:
    :msg_type: (str) the type of message to send, i.e. 'Email'
    :send_async: (bool) default is False, set True to send asynchronously.
    :kwargs: (dict) keywords arguments that are required for the
        various message types.  See docstrings for each type.
        i.e. help(messages.Email), help(messages.Twilio), etc.

Example:
    >>> kwargs = {
              from_: 'me@here.com',
              to: 'you@there.com',
              auth: 'yourPassword',
              subject: 'Email Subject',
              body: 'Your message to send',
              attachments: ['filepath1', 'filepath2'],
        }
    >>> messages.send('email', **kwargs)
    Message sent...