I did not look at the code, so could you explain how it's different than using a trie and saving data with entity id as key?
You don't have to worry about other plugins using the same entvar for storing data. Other than that, probably that it's just straight forward and more intuitive with proper native names.