This is OK. As discussed, please do:
* Allow number of cached results to be configurable.
* Raise an issue to use ordered dict when we can drop Python 2.6.