In reply to MLearner:
You should avoid driver-monitor communication as you can reuse your monitor when driving is not required. For e.g. as intermediate monitor/checker at integration level.
You can receive read data by observing SCL interface along with SDA. Go through I2C write and read waveforms once and see if you can come up with monitoring by observing only SCL, SDA and no driver!