it would be cleaner to just pass the whole item object now: `deferred.resolve(createComponentData(item, body));`