Convert interfaces to types for service functions
Dedicate caches to same functions
Add memoization to expensive pure functions because the library involves a lot of computation under the hood.
Use custom styled keys and add pressed keys for styled key set.
Add files generated from tsdx.