rewrote and added to API and associated methods for dealing with validations and observations