Some initial work on the item API
Cleaned up after an undone refactoring