fix @Result target and retention;
add equals and hashcode to ReturnPath;
pull-up setReturnPath from ServiceContext to Context