public virtual void Engage() { // Iterate the selected methods var selector = new MethodSelector(); foreach (var method in selector.Select(context)) { var methodInjector = new MethodInjector(context, method, ResolveArguments(method)); methodInjector.Inject(); } }