private InteractorResponse<List<BasicAction>> beaconsEventResult() {
    List<OrchextraBeacon> orchextraBeacons = (List<OrchextraBeacon>) data;

    InteractorResponse response = beaconCheckerDomainService.getCheckedBeaconList(orchextraBeacons);
    if (response.hasError()) {
      return response;
    }
    return triggerActionsFacadeDomainService.triggerActions(
        (List<OrchextraBeacon>) response.getResult());
  }
  private InteractorResponse<List<BasicAction>> regionEventResult(ProximityEventType eventType) {
    OrchextraRegion detectedRegion = (OrchextraRegion) data;
    detectedRegion.setRegionEvent(eventType);

    InteractorResponse response = regionCheckerDomainService.obtainCheckedRegion(detectedRegion);

    if (response.hasError()) {
      return response;
    }

    if (eventType == ProximityEventType.REGION_EXIT) {
      if (response.getResult() instanceof OrchextraRegion) {
        triggerActionsFacadeDomainService.deleteScheduledActionIfExists(
            (ScheduledActionEvent) response.getResult());
      }
    }
    response = triggerActionsFacadeDomainService.triggerActions(detectedRegion);
    return response;
  }
  public BeaconEventsInteractor(
      BeaconCheckerDomainService beaconCheckerDomainService,
      RegionCheckerDomainService regionCheckerDomainService,
      TriggerActionsFacadeDomainService triggerActionsFacadeDomainService,
      EventUpdaterDomainService eventUpdaterDomainService) {

    this.beaconCheckerDomainService = beaconCheckerDomainService;
    this.regionCheckerDomainService = regionCheckerDomainService;
    this.triggerActionsFacadeDomainService = triggerActionsFacadeDomainService;
    this.eventUpdaterDomainService = eventUpdaterDomainService;

    triggerActionsFacadeDomainService.setEventAccessor(this);
  }