Coordinator or API object?

Hello,

I am working on an integration for a device that is queried via modbus.

Each call to the device gets a single datum, there is no way to batch it, other than re-using the client (connection object).

Should I use a coordinator object in that case?
In that case, should the _async_update_data method just be left empty, as it doesn’t make sense to query all possible registers there?
Rather I would offer a coordinator.get_datum(name: str) method that is called from a sensor’s async_update method.
Does that defeat the purpose of the coordinator?

Or should I rather create an API object?
That is added to entry.runtime_data and used by the (non-coordinator) entities?

Or there any pros using a coordinator when you can’t reasonable batch queries together?

Best Thanks!