Add validate callbacks
Add comments