The API layer of Media Mover 2 has matured to the point where I'm shifting my focus to start working on the modules that actually make it useful. At this point I'm considering the API layer frozen with the exception of UI details. Any new changes will get documented here and on the http://drupal.org/node/566870">Drupal docs.
I will admit out of the gate on this one that this is more than likely a stupid idea. Multiple API change notices were in my inbox this morning. I've ported exactly zero of my modules- which I purport to handle media- leaving the majority of my relevant content offline. I have a stupidly large image as the background image. YSlow gives me a solid E. Oh. And there is the small detail that I'm running on dev not alpha 6.
As Media Mover 2 finally moves toward alpha, I've taken the risk of doing some significant refactoring- or at least improvements- to make the transition to Drupal 7 easier as well as to provide a much more robust platform people to start leveraging.
Similar to Drupal 7's [hook_file_load](http://api.drupal.org/api/function/hook_file_load/7), Media Mover now offers hook_media_mover_file_load() and hook_media_mover_file_save(). This allows for easy altering of files as they pass through the system. These are both cache aware so you can still benefit from caching while having the ability to avoid modifying a cached file if your modifications are not dynamic (cached Media Mover files have $file->cached set). Steps and configurations are also alterable on load and save.
Media Mover 2's S3 implementation now supports private files hosted on Amazon. You can set access to files by role- with the obvious exception of the anonymous user. Links to each file expire after a set amount of time which gives site administrators a degree of control for providing protected content.