Removed static constructor as Inventory needs to be subclassed to make proper use of the first generic type