Misc Fixes. Start dispatch changes.

Going with void *'s for now in the interest of time.
We still need to generate the dispatch function in program_context.