[WIP] Cleanup

This is getting a bit unruly and I need it to be a bit simpler in order to do unit testing.

- [x] ~~Use callbacks to do the run, based on whether it's a selection or file run~~ Case off the file run *semi-appropriately*. 
- [x] Stop should happen before clear, in case of timing issues
- [x] Make handleError just use a passed error message
- [x] Make the setup step take an editor to make unit testing easier
- [x] Break away from having too many attributes (less side effects)