I should probably have multiple trigger types
Finish updating the module API (fixes #48)