The guideline for this API is to make it similar to GLU Tesselator.
The user will feed in settings via functions and start the algorithm. The marching squares object will execute a user defined callback for each step in the marching squares outline.
These details are provided for information only. No information here is legal advice and should not be used as such.