Extract diffing code to support.
Merge pull request #441 from phiggins/extract-differ-to-support

Extract differ to support