VideoAnnotation and TextAnnotation share same interface. May be it would be useful to move _get_extension and _extract_instructions to mixin class, as they use same code. What you think?