Changed extractors to be more coherent across media types and statuses.
Cleaned up algebraic data types.