I think most features and dependencies should be feature gated, with a `blessed` set of defaults. This ensures that people can trim down the tool exactly to their needs and should speed up installation/build for use in CI.