Refactor allocation strategy method to process array of items instead of queue.
Change channels internal collection to ArrayIterator to natively preserve iteration state.
Implement channel transfer workflow.