Add a lot more validation and testing to synthesized properties. Also change naming scheme of temple internals