Update DataConsumer API to use ConsumerResult object; Thread-related fixes in DefaultDistributor