Refactor: encapsulate change list a bit more also in this branch

Move this branch to an interface similar to the one in master. The
interface is not the same, but this interface would not be natural for
the implementation in master.