Refactoring: cleanup
Refactoring: extracting projection phase processor (in progress)
Refactoring: extracting projection phase processor (in progress 2)
Refactoring: renamed InputDataHandler => ProjectionProcessingPhase
Changed: ResultEmitter does not longer need NewPartition
Refactoring: abstracted PartitionState.Result usage
Refactoring: access modifiers cleanup
Refactoring: moving event processing from CoreProjection to
ProjectionProcessingPhase
Refactoring: unused fields clean up
Refactoring: separating interfaces for different usages