Multiple Instances: Don't create multiple instances of the Controller API. While it's possible to create multiple instances, we don't recommend it. Just create a single instance and use it everywhere (preferd with dependency injection).
Asynchronous Operations: Use Coroutines for asynchronous operations in Kotlin, or CompletableFuture for Java. We don't recommend using our API in sync operations.
Error Handling: We don't throw any exceptions, we return null or Future objects. You should handle errors by yourself.