added initial helper methods for serialization. Added functionality to MediaItem to support multiple types. Both need refactoring and full integration