new annotation fro defining the class builder and invariant
add new @ClassDefinition
- Update to support @ClassDEfinition annotation
- support for "trap" state