Depends on the intent of the class. If it's intended to only track attribute changes, then it makes sense to type it as <String, Object>. Since you mentioned it's general purpose, it's fine.