Move the new YAML class and interface into their own files.