API
You can control properties from outside. In order to trigger the callback, you need to change the attribute through
setAttribute
otherwise it won't update internals.
This is why you can also use setOption, toggleOption and getOption helpers.