Major commit: Move away from the old invocation scheme to the new one, keep the old one's code (mostly) but it doesn't seem to be any slower, so it's possible that we'll keep it since it's simpler.