kotlinx.serialization
kotlinx.coroutines
https://stackoverflow.com/questions/49393339/kotlin-enum-classes-with-common-interface-implemented-by-delegates
https://tourspace.tistory.com/115