Implement dynamicRun

It takes an event and invoke run dynamically so that
we get proper generic parameters early in the process.
Remove more unused code