separating dispatching and handling concerns
cleaning up
Some tweaks and tests for Karthik's PR
Merge pull request from kpadmanabhan/master