As another successive issue of #969, there might be a way to eliminate FactoryData and all its subclasses (EntityData etc.) by creating AssetInputs and similar entities directly.
To make this work, the new constructors in the form of AssetInputEntityData(EntityData entityData, OperatorInput operator) (but of course adapted for AssetInputs) could be used to iteratively create Inputs from the simplest UniqueEntity to the desired input type.
A side effect of this would be that error messages would be easier to create, since there is no way of ensuring that a FactoryData also includes UUID and id.