we have a `delegateBuilder` so cant we avoid the cost of reflection here?