start sample of StringVM to demo design patterns
use Java.util.Stack and prepare to extract Command interface
extract interface Command and SimpleRuntime as the client
test of Command List turn out a ProgramBuilder
sketch trace and breakAt of SimpleRuntime 
since there will be different processing to each command, so extract Decorator as command invokers.
extract Abstract Factory of Runtime
Separate construction and usage, as Abstract Factory of Runtime.

Have a Facade of Interpreter to parse source code and create runtime.
merge