# Functions
GetTemplateMessage prompts the user for the teamplate prompts and then returns the result of formatting the "Messages" into a string.
LoadTemplates reads a map of template names to basic data types and populates TemplateLookup with the result.
RunTemplateCommand prompts the user for the template prompts and then runs the command specified in the template.
# Variables
DefaultTemplateName is the name of the template to use if when no template is specified.
TemplateLookup maps template names to templates.
# Structs
CommandTemplate represents a command to execute and user prompts to get the command arguments.
Prompt defines a question to ask the user.
PromptChoice defines a single option in a multiple-choice prompt.