Switch items from list to binding list, for having item add/remove events.
Inventory item combination events should not be part of IInventory as you might want to combine inventory items from different inventories, there should be some global collection of inventory items and the events should be there.