This paper investigates the use of four different lazy protocols, and evaluates them based on performance, scalability, expressiveness, laziness, and complexity of implementation. We find that while the advantages of laziness are considerable, the best combination of virtues is achieved through a scaled approach. Protocols should be adaptive, and only resort to complex mechanisms when simpler approaches are insufficient.