Each directive's controller
function is called whenever a new related element is instantiated.
Officially, the controller
function is where one:
Again, it is important to remember that if the directive involves an isolated scope, any properties within it that inherit from the parent scope are not yet available.