Everything we need access to for our CLI and Debugger needs to be exposed on the APIs (Java and Scala flavors).
Someone should be able to take our API and create their own debugger that for example, has a Graphical user interface instead of command line.
This means exposiing an API for accessing parser state during the middle of a parse operation, single stepping, etc.