* add flag to handler
* cleanup
* concurrency control
* add flag for handler setters
* update service flags
* fix event handlers
* more handlers
* make sure behavior is unchanged if flag is off
* cleanup
* add test case for parallel processing
* comments
* stop dispatcher in test
* add log for request lifespan
* cleanup and add comments
* correctly release semaphore
* remove deleted file from merge
* use await for semaphore release
* move handler invocation to await and adjust test
* cleanup exception handling and wrapper
* space
* loose assertion condition to make test stable