Use Executor for syncing work

Replace SyncService with Executor and make channels compatible with using Executors.