Implement validation and create callbacks