Add step callback