Allow defining defaults, and better usage in prompts

Separated the commits to show the changes in a clear manner

(Though staging things this way may have made the earlier commits' changes look a little awkward.)