Solving issue #3, applying DRY to getInfo() & getChanges()