Is the worry that these objects may get cloned when serializing/deserializing? In that case you might want to make it reuse the singleton object like we do in StorageLevel.