Pre-Demo

#176 
Finally I found a (imho) decent implementation for rollback.
Will attempt to improve so that any transaction can rollback, not just the one on the top of the stack