tweaks
change to SameThreadExecutor for services
Change RunnablePromiseTask to use composition instead of inheritance
refactoring