anchor.diff:    _scheduleNextNotification();
   }
   
  +void _createMissedEvent(NotificationHolder notification) async {
  +  final experiment = await ExperimentService().getExperimentById(notification.experimentId);
  +  final event = Event();
  +  event.experimentId = experiment.id;
  +  event.experimentServerId = experiment.id;
  +  event.experimentName = experiment.title;
  +  event.groupName = notification.experimentGroupName;
  +  event.actionId = notification.actionId;
  +  event.actionTriggerId = notification.actionTriggerId;
  +  event.actionTriggerSpecId = notification.actionTriggerSpecId;
  +  event.experimentVersion = experiment.version;
  +  event.scheduleTime = getZonedDateTime(DateTime.fromMillisecondsSinceEpoch(notification.alarmTime));
  +  LocalDatabase().insertEvent(event);
  +}
  +
   void _expireCallback(int alarmId) async {
     // This is running in a different (background) Isolate
     print('expire: alarmId: $alarmId isolate: ${Isolate.current.hashCode}');
  
positive.code: import 'dart:isolate';
  
  import 'package:android_alarm_manager/android_alarm_manager.dart';
  
  import '../model/action_specification.dart';
  import '../scheduling/action_schedule_generator.dart';
  import '../storage/local_database.dart';
  import 'notification_service.dart' as notification_manager;
  
  /// Schedule an alarm for [actionSpec] at [when] to run [callback]
  
negative.code:     final match = notifications.firstWhere((notificationHolder) =>
          notificationHolder.matchesAction(toCancel), orElse: () => null);
      if (match != null) {
        _createMissedEvent(match);
        notification_manager.cancelNotification(match.id);
      }
    }
  