1. A system comprising: at least one processor; and memory encoding computer executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method for integrating a gadget with a spreadsheet, the method comprising providing an Application Programming Interface (API) for the gadget to communicate with the spreadsheet; receiving a selection of a range of cells of the spreadsheet to bind to the gadget, wherein the selected range of cells comprises one or more cells of the spreadsheet; determining a binding between the selected range of cells of the spreadsheet and the gadget; determining an interaction with the selected range of cells; automatically providing a first notification to the gadget in response to the interaction; receiving a call from the gadget using the API; performing an operation involving the spreadsheet that relates to the received call; after performing the operation, receiving input to change the selected range of cells to adjust the binding to include the changed selected range of cells; and automatically providing a second notification to the gadget in response to the input.