Thanks for your prompt reply! For some reason I didn't get the email notification and just dropped by now and saw it.
I think you might have something when you say that maybe the create/heartbeat/destroy should be separate from the error cases.
Currently the events are:
- cannotCompleteFetchingFromRemote
- attemptingToFetchFromRemote
- cannotReadFromPersistentCache
- cannotWriteToPersistentCache
- cannotCompleteInitializingFromRemote
- initiatingShutdown
- startingInitialization
I can decide to have a LifecycleReporter and an ErrorReporter but these names sounds a bit too mechanical. WDYT?
On a related note it feels a bit like I'm violating the Interface Segregation Principle since every event currently is only used by one piece of the system but breaking it up to 3-4 reporters for each component seems too fine grained. Would love your thoughts about that too.
Again, sorry for not responding earlier,
Ittai