Use methods instead of direct field access to allow custom implementations of inventories
Give previous itemstack in onSlotSet