revert() + advance() optional callback as an arg