At a minimum we should have Load and Save. Load should read from a path and preserve the file name loaded and try to decode a mime-type from that. Save should save to a path, with an optional filename, using Name if a directory is provided in the path. Perhaps we could consider a filename without extension to be provided and we infer the extension from the mime-type and return the saved path. We should also have Stream based helpers.