Implement interface directly in ItemFactory, might fix #17