fix delegators to allow usage in plugin managers

see #5172 

- [x] move delegator logic from create() to separate method
- [x] remove automatic invokable service for delegator factories
- [x] add delegator factory class validation
- [x] add callback support for delegator factories
- [x] tests