Completely redo how attachments are handled