Definitely - some discussions on this in
https://github.com/pulumi/pulumi/issues/127 and
https://github.com/pulumi/pulumi/issues/1691.
You can also do some of this already today with a combination of (a) code that runs in apply on dependencies (b) runtime.isDryRun to ensure these only run during updates not previews (c) possibly dynamic providers if there is a need to precisely control the lifecycle.
There’s lots more we want to do here!