Command-line menu building DSL