Rewrote vanilla inventory handling to use dedicated classes.