reduce the number of lookups, clean up block a bit
reorder functions to invocation-order
Fixes state issue of converter

If this object is going to have internal state (which it does by saving
the emo source and memoizing the constant map) then each instance should
be locked into a single script (otherwise you might call the object
with two different scripts but be stuck with the map of the first
script passed in.