adds DataStore interface and a simple example
makes DebugDataStore use channels
adds TaskQueue interface and make RedisTaskQueue implement it