I think it's necessary to use `ReflectionObject` here to retrieve the dynamically set properties of `$sourceObject` isn't it? To be honest I don't remembere anymore why I wasn't using `ReflectionClass` here, too. Maybe there was a reason but maybe it was just dumbness xD