js patterns
rpn evaluator
command facade observer patterns