Temporary S3 and cleaning up S3

Changing the semantics of the functions that use `directory`. 
Using the deprecated annotation to stop downstream projects compiling so I don't miss anything whilst bumping the versions. Will come back and cleanup these functions once all downstream projects are in a working state.