Extracted changeset generation from the Changeset class itself, moved to compact instead. Reintroduces the bug in the merge-compact algorithm.