replaced step/update wrappers with events