FireFly should remove the requirement for location when creating a contract listener. A common use case is subscribing to events that match a specific signature, regardless of the contract of origin. This is especially common when FireFly needs to interact with contracts that have been instantiated by a factory, a single contract listener would be able to capture all events from the created contracts.
This is already supported by evmconnect, so the changes should just be within the contracts manager & blockchain plugins.