Add ResultDistributorFactory

- Add ResultDistributorFactory class
- Apply the class to create ResultDistributor implementations