Just from a style perspective I don’t like the variable name "previous". I understand the naming but especially if you open this class for the first time / out of context it seems a bit odd.