A decoupled output provider only contains data and forwards all important events to an IOutputProviderLogic, which may or may not exist. This allows the data to be loaded on all platforms but perform no operations on unsupported platforms. This decoupling is important to avoid failing LoadPackage warnings during cooking.