Most of the fixes were to do with handling commateds in templates. This is still slightly brittle.
For now, we use just '=' here - this is not what we want to be doing though.
…Allows for braindead simple caching inside tight loops.
This also seems to clear up some problems we were having when mimics did not have the doMessage method.