I think I prefer state in small objects to passing arguments everywhere