Extract interface of Parser and Emitter.
Add YAML schema abstraction and SchemaEnforcingParser.