I am a big fanatic of Protocol Oriented Programming (POP). Hope every one of us might have read about it. Or never the less a bit fancier… — I am a big fanatic of Protocol Oriented Programming (POP). Hope every one of us might have read about it. Or never the less a bit fancier of the protocol-oriented design during design and implementation. You all might have read many articles around, How to use protocols? What is POP? i.e., hiding, abstraction, loose coupling, segregation, testability, etc.