introduce delegator as replacement for migrator

we keep the migrator code in case we need it someplace else and just add this handy new feature to property set

@edsinclair @eac  @morten