abstract tour callbacks