- Refactor StateCache to use TrieMap which is scalable concurrent map that provides Snapshots in O(1).

- Simplify API to support only key based events registration
- Add get method to API

In the future, if still relevant, the listener iteartion can be improved with extracting only the listeners that are associated to a specific key