Chunk
-----

Some sort of object which contains an array of rendered elements. For example, using:

```
Testing dump parameters
{#names}
    {.}
{/names}
```

The first interation would have `["Testing dump parameters", "Alice"]`.

Question: Do any helpers read from chunk or just write to it? If its just writing, then my current architecture of just returning a `String` would work fine, though having a shared buffer thats written to would probably reduce the allocations and therefore improve performance.

Context
-------

Some sort of object that contains essentially the "breadcrumbs" variable I am currently using to track the context tree. Also tracks template name, globals and options. I guess options would be that whole preserve whitespace or not option. I was just going to store this option on the dust renderer type, but I guess I should bake it into the breadcrumbs to pass into helpers if I implement support for custom helpers.

Bodies
------

No idea, but based on the name I assume it contains the contents of the helper, or at least some way to render the internal body of the helper.

Params
------

A mapping of the parameters directly on the helper.