refactor SchematicRegistry to ISchematicRegistry