public static T OnWaypointChange <T>(this T t, TweenCallback <int> action) where T : Tween { return(TweenSettingsExtensions.OnWaypointChange(t, (v) => { action(v); action = null; })); }