Description
The implementation as is passes a lot of metadata to the setInstallState method to build up the target State to be persisted. As the save call and cleanup code is already decoupled from the buildup the state can be already built in the calling methods which allows to better scale up for further and potentially optional properties to persist via builder pattern.