pulled up an abstract base type for the executor service

The WorkManager API cannot be mocked easily.
added unit tests
throw an IllegalStateException if the state isn't RUNNING when run
eclipse metadata update