Use set and get methods rather than more abstract notation
Generalise environment in email data cache to scope
Use EmailDataCache as a class
Inline methods
Each instance of the email data cache can have it's own maximum size