Implement focus/blur events.
Begin switching to a visitor-based event dispatch model.
Complete switch to a visitor-based event dispatch model.