Passar obj da diretiva para o controlador no AngularJS

Estou tentando escrever uma diretiva que obtenha o controlador pai e o controlador de formulário pai e os passe como um único objeto para o meu controlador, é isso que eu tenho:

HTML:

<div ng-controller="ParentController as self" ng-form="ParentForm">

  <div ng-controller="ChildController1 as self" my-parent="self.parent">
    ChildController1 parent:<br/>
    {{self.parent}}
  </div>

  <br/>

  <div ng-controller="ChildController2 as self" my-parent="self.parent">
    ChildController2 parent:<br/>
    {{self.parent}}
  </div>

</div>

JS:

myApp.directive('myParent', function() {
  var directive = {
    restrict: 'A',
    link: link
  };

  return directive;

  function link(scope, element, attrs) {
    var parentElement = element.parent();
    var parentCtrl = parentElement.controller();
    var formCtrl = parentElement.controller('form');

    var parent = parentCtrl;
    parent.form = formCtrl;

    console.log("directive parent obj: ", parent);

    // How can I pass the parent obj to controller???
  }
});

Eu escrevi um desentupidor aqui para explicar melhor a situação:https://plnkr.co/edit/axnR6t2Q82IVtzftq7y7?p=preview

Eu sei que, nesse caso, eu poderia usar controllerAs com nomes diferentes nos meus controladores, mas preciso fazê-lo funcionar com uma diretiva (diretiva "strict: A").

Alguém pode me ajudar com esse problema?

questionAnswers(1)

yourAnswerToTheQuestion