Encapsulate what can vary
One of the big things with Object Oriented Programming is to "Encapsulate what Varies". If it's something that can change between objects, we want to encapsulate that into a new object and use composition. This is part of what I think drives MicroObjects. It's…