Can optimize this:

1) Only clone if expand tokens is defined.
2) Possibly not clone at all.

The later requires that we assume that the hash is always generated by the template (it is right now) and doesn't matter if it is modified. Might also break with direct use of the helper.