This is a tracking issue to land the work @jensjoha prototyped internally here:
cl/256943326, cl/256954541, cl/256964167
properly into master. Marking as D25 as we'll need this to switch internal to DDK, and we need to switch before extension methods ship.
fyi @jakemac53 @davidmorgan @mraleph