Its a level as key, EXP needed as value..

This should not be modifiable. Must be initialized on constructor and than locked.

I can expand on this for you. It will be a little tricky to write fully.

Some special math is needed and effecient loops.