render engine listens to itself