Moving definition into a function closure:
* Seeding the class cache with some intelligent defaults
* Making the class cache private to prevent man-in-the-middle attacks
  during object creation.
* Adding a class level method to precache classes safely while
  avoiding man-in-the-middle attacks.
Adding a functional demo