adding triggerThen, docs updates, toJSON fix