When you open the inventory or the inventory is accessed the contents need to be synced, it is not necessarily an event handler you need to use. Note the container class should automatically sync its contents to the client from Container#detectAndSendChanges
You very well could, but you shouldn't extend InventoryPlayer or any IInventory, instead just use an IItemHandler implementation.
For future reference please read the javadoc above things before you use them.