Added generics to inventory system, although I want to stay away from
them...