Changed it so decoder could signal request end in the protocol objects, and removed isDone() from the command/results processing.