Use @JvmField
runBlocking or async await
This type is sealed, so it can be inherited by only its own nested classes or objects
Use suspendCoroutine