cjs.on is live, meaning that transitions types can be constraints