BC Break - Some internal refactoring.
BC Break - refactor Kahlan workflow for a simpler API.