#502 allows files patterns to be provided to API#run(). This will override the patterns provided in the API constructor.
For simplicity we could consider removing the files argument from the constructor and requiring it in run(). This will break the programmatic API.
Currently the watcher provides the files argument to API#run(). If provided the test titles will always be prefixed, even if only a single test is run. This behavior makes sense for the watcher but is different from normal usage. We should maintain this behavior.