Extracted Procol class objects to a separate module (Protocol object)