move model validation into pattern classes and link from recurring_todo model