Remove exceptions, return a validation result object instead.
Add example app