Moved protocol related functionality out of Commands and Replies