Refactor message sending, allow for metadata.
Add attachment.