This method feels like it could get quite slow.  Once you have a decent number of services initialized it's going to result in a lot of iterations, even if only a scant few of them result in a method call.  Could we add a tracking index of some kind to keep track of what methods would need to get called on what services?