This commit adds a new environment package that manages all calls to the underlying operating system.
This commit reworks the backup process to dynamically find the list of components.