Design needs a bit of Harmony and cleanup.
Hacked to work (at least superficially) the way I want.

There are some self hosted tests. I've managed to keep the DSL clean but it's
lead a lot of awkward and kludgey static methods.

There's probably a cleaner and cohesive approach I can take.
Cleaned up InvocationContext related code.
Some minor reorganization + stress test.