document and setup on/once/off/trigger methods