Refactoring. Latest version of disruptor

Refactored to
- have better naming
- allow configuration of event dispatching
- share more code between immediate and disruptor based event emitting