Dart2 typesafe invocation of IsolateConfiguration callback (#15267)

diff --git a/packages/flutter/lib/src/foundation/isolates.dart b/packages/flutter/lib/src/foundation/isolates.dart
index 3cf9d7d..a7c988b 100644
--- a/packages/flutter/lib/src/foundation/isolates.dart
+++ b/packages/flutter/lib/src/foundation/isolates.dart
@@ -84,6 +84,8 @@
   final SendPort resultPort;
   final String debugLabel;
   final int flowId;
+
+  R apply() => callback(message);
 }
 
 void _spawn<Q, R>(_IsolateConfiguration<Q, R> configuration) {
@@ -91,7 +93,7 @@
   Timeline.timeSync(
     '${configuration.debugLabel}',
     () {
-      result = configuration.callback(configuration.message);
+      result = configuration.apply();
     },
     flow: Flow.step(configuration.flowId),
   );