Refactor universe, add Diff and associated methods