Transaction should have a flag that defaults to True indicating whether or not automatically rollback if any exception is raised.
Note that if any exception is raised, the transaction method exit will receive a type representing the exception raised type while inside the context.
Transaction object does not currently support rollback (undo any action inside the transaction context).
CollectionWrapper class should implement a function that will be called by the end user to execute the rollback of:
Transaction should have a flag that defaults to True indicating whether or not automatically rollback if any exception is raised. Note that if any exception is raised, the transaction method exit will receive a type representing the exception raised type while inside the context.