I think the code will end up cleaner if extracted.