Rework UserData to refer to classes instead of simple dictionaries so that I can put functions in there too