JSON with template support
allows for chaining with native JavaScript objects without extending objects' prototypes