downside of always passing a non-jq wrapped element is that we have to re-wrap it. jQuery methods like `toggle` aren't easily recreated in native code so easiest to leave them around.

For things like `addClass`, it may make sense to force people to provide a polyfill if they need older browsers.