Reworked setting up of delegation removing unnecessary code paths and generally refactoring.