Add DeviceFactory, use ConversationItem for resolving from subtype in factories, use PUT for devices endpoint.