reorganize code into a few different modules
break out demo code
refactor variables file to use command DSL
centralized debugging
provide setter interface for settable variables