Attaching a watcher for every instance of a contract is not a good idea in terms of memory and CPU. So is there a way to watch for events from all instances of a contract i.e., by registering a single watcher for all instances of the contract.

Note that I don't want to provide the address of the contract instances because that will force whole DB lookup.

I need to display the changes on the contract in real-time on the client and also update the DB in real-time.