Run tests on newer ruby until there's a YAML comparison that doesn't rely on exact formatting
Make implementor polymorphic, rather than having a separate build_implementor method