you're right. unless directive has new scope, name gets overridden. but the new scope doesn't have to be isolate.

so there are two things in master to fix

1. create new scope

        transclude: true,
        scope : true,

2. link function arguments

        link: function (scope) {