I enjoyed the back and forth in the linked discussion. I tend to take this perspective since we cannot guess all current use cases or predict all future client needs: - Protocol allows key flexible functionality in a scalable framework. - Clients provide full or limited access to functionality based on their use case goals.