Act like an event-driven jQuery plugin instead of posting directly to a predetermined destination
Fix the jQuery plugin
Update the form to match the behavior
Replace promise with object-specific callbacks to allow multiple firings
Set up the dialog in initialize instead of on each click
Add more usage details to the README