can we have a `default` here that throws an exception in case the mode does not match? Otherwise you might end up trying to figure out why `switchScrollMode(...)` is not working due to a small typo.