[fixes #30] add optional caching
Ensure we always use a null prototype object. This object also assumes it should be in dictionary mode.
remove whitespace