models and validation state should be on GenWriter, duh