Custom item handlers and separation into server/client libraries