Various changes

- Made the reasoner factory selector determine the executor service
that it requires.
- Added better error notification support.