Initial checkin with beginning of API for interactive command handling.

please no underscores for private fields, we already know they are private.