Two Reasons Why Protocols Have Layers