Streamify template bindings

consider putting these in the constructor

`null` -> `undefined` as null has a different meaning, but `undefined` sufficiently shapes the object