In the surrogateController function, the CtrlImpl is assumed to be a function, however in the case of inline injection, the value is of type array. http://plnkr.co/edit/ljsR8e