OZP-76 Mongo implementation will need proxy classes for each domain model it will persist so that every time a persisted property is affected, the Entity will be marked 'dirty' with the unit of work. These proxies behave the same across all the domain models and require a lot of repeated code. We can use Groovy AST Transforms to add the repetetive code during a compilation phase thus remaining DRY.

Groovy AST transforms must be compiled before they are used so I've added a new project called mongo-proxy-transforms to make this UnitOfWorkAware transformation