Responsibility-centric design + immutability