Removed TapHold state elements as arguments to the constructor (now all in the single opts argument), and added some documentation