Add validations, prviate methods with before callbacks.