Rework many tiny trouble with new a.on function.