The event detector is the main component that subscribes to external data flow and has a dynamic filter for events that should be parsed.
We can use deployer
transactions for auto adjust the filter.
When some transaction contains an address from the filter we call all available functions and save them to the DB.
The final result of the "event" should be stored contracts hierarchy.