added callbacks to Engine