the extra parameters are undocumented as they're not intended for public use, but basically what they are:

1) instantiate controller later (which the compiler needs to do)
2) optional identifier to override existing identifier (comes from directive.controllerAs)