Interpreter.Interpret: further refactoring and documentation
Interpreter.State: factored out 'State' from Interpreter.Interpret
Interpreter.Message: factored out message action from Interpreter.Interpret