Do we really need interaction modes? Can we not just call the right function?