Made it way stupider. Got rid of PropertiesField, separated the pattern system into a separate app.