Is there a reason for having `SchemaCreator` and `SchemaBuilder` as two separate classes?