interface BaseCoroutineScope : CoroutineScope
Used to give implementers their own coroutine scope (i.e. NOT the global coroutine scope)
open val coroutineContext: CoroutineContext