a bit of HandlerList refactoring