Beginning of a large pull request

Starts small, but will get huge as soon as @Morphan1 finishes his edits and I can get at the InventoryHolder property.