An event handler runs when the browser reports an interaction. Choose the event that matches the behavior: input for text that updates as someone types, change for a committed checkbox state, and keydown when a specific key has a defined job. The handler must read the current state each time it runs. Replacing a counter with its initial value plus one will appear to work once, then stop accumulating. You'll test repeated actions and unrelated keys, because both reveal handlers that were built around one happy path. Keep user text exact when the task asks for a mirror; validation and trimming belong only where the contract calls for them.