I like this separation implementation but kinda prefer if the self.validate() called them individually. Thoughts?