These features are used extensively in Azure CLI and are generic enough to be used in Knack-based projects.