This is the logic that we want to extract into a single object. What would that object be called? Where should it live?