This needs unit tests and a full integration test. Pushing this as an initial checkpoint.
Attach a file by drag & drop or click to upload