Maybe the config path (and anything else not directly related to the schema itself) should be a constructor argument?