removed template param on ControlCallback, made callbacks / events more generic