This library can handle different method signatures. Under the hood it tries to cast your component to different interfaces, depending on the current lifecycle step. This approach allows you to reduce code complexity and extend library features with minimal pain.
For example, you can use
Async(p kyoto.Page) or
Async() signature depending on your needs.
You can find detailed usage examples in the
Core Features section.