Extracting EventTaskExecutor as a separate concern