T194830: Refactor DifferenceEngine

From mcr