Extracted Handling of the two protocols into their own classes