abstracted inventory item functionality out to traitObject for use with upcoming customer branch