TODO define the interface . The basics are the calculate function and the options_form().
See provided objects in the module for better details