public function register(Application $app)
 {
     $app['media-alchemyst.configuration'] = array();
     $app['media-alchemyst.logger'] = null;
     $app['media-alchemyst.drivers'] = $app->share(function (Application $app) {
         $drivers = DriversContainer::create();
         $drivers['configuration'] = $app['media-alchemyst.configuration'];
         if (null !== $app['media-alchemyst.logger']) {
             $drivers['logger'] = $app['media-alchemyst.logger'];
         }
         return $drivers;
     });
     $app['media-alchemyst.filesystem-manager'] = $app->share(function (Application $app) {
         return new Manager($app['media-alchemyst.temporary-filesystem'], $app['media-alchemyst.filesystem']);
     });
     $app['media-alchemyst.filesystem'] = $app->share(function (Application $app) {
         return new Filesystem();
     });
     $app['media-alchemyst.temporary-filesystem'] = $app->share(function (Application $app) {
         return new TemporaryFilesystem($app['media-alchemyst.filesystem']);
     });
     $app['media-alchemyst'] = $app->share(function (Application $app) {
         return new Alchemyst($app['media-alchemyst.drivers'], $app['media-alchemyst.filesystem-manager']);
     });
 }
 public static function create()
 {
     $fs = new Filesystem();
     return new static(DriversContainer::create(), new Manager(new TemporaryFilesystem($fs), $fs));
 }