altered callback system to be event agnostic