The responder had way too complex functions. Separate them into smaller / more specific ones to increse modularity and code reuse.