Rename result to returnValue and resultType to returnValueType to reflect what they represent. The returnValue getter is also wrapped as Optional since the value returned from a handler may be null (e.g. void method, null value).