properly dispatch handlers on main queue