Add the base API for an item system

Actual working system is TODO