Moved design pattern handling back into class objects. Minor validation is still done in validator.