Base class with save() and rollback()