`find` could be a static method of Example, which yields the results (the problem is that this should be an iterator, and I'm bad at doing iterators over filesystems).
Whatever becomes of `Action`, `RunDir.run` needs a trait for it, so we can replace with something else in the future.
`Output` must define the type of messages it receives.
Missing: Who will do the reduction (maybe different crate?).