Added ExtractableMedia abstraction + factory
Added ExtractableMedia abstraction + factory