Added AbstractMediaLoader, so Sound and Video can share a base class.