Demeter law is no longer a list
blog post on records and protocols