hunk.code_window:   }
     /**
      * Method that is invoked when the first event listener is added.
      */
     inline fun onStartObserving(crossinline body: () -> Unit) {
       function("startObserving", body)
     }
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit:    * Creates module's lifecycle listener that is called right after the first event listener is added.
  
hunk.file_path: packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/modules/ModuleDefinitionBuilder.kt
hunk.type: replace
file: #pragma once
  
  #include <ABI44_0_0jsi/ABI44_0_0jsi.h>
  #include <string>
  #include <utility>
  
  using namespace ABI44_0_0facebook;
  
  namespace ABI44_0_0reanimated {
  
  class EventHandlerRegistry;
  
  class WorkletEventHandler {
    friend EventHandlerRegistry;
  
   private:
    unsigned long id;
    std::string eventName;
    jsi::Function handler;
  
   public:
    WorkletEventHandler(
        unsigned long id,
        std::string eventName,
        jsi::Function &&handler)
        : id(id), eventName(eventName), handler(std::move(handler)) {}
    void process(jsi::Runtime &rt, const jsi::Value &eventValue);
  };
  
  } // namespace reanimated
  