Why is it marked as final here instead of letting the user configure it?
Wouldn't it be more user-friendly for the user to configure this value as needed? If my individual messages are large, I wouldn't want the onReady()=false scenario to occur frequently, or if my messages are small, I might want this onReady=false scenario to be signaled to me in the early stages of accumulation.