* Make execute() actually implement what is stated in the docs
* Quite possibly update that to wrap everything in Task, then move
interesting bits into Task.run or w/e
* Probably add more examples to the docs?
* Replace side-effect-using `interpret_host_string` with `to_dict`/`from_dict` (for use with `settings`)
* Cleanly set up an env dict for use when calling the actual task
* Update tests appropriately