Question:
Do you plan to release it as a dll or as the code that one can freely change depending his needs?

Because, if the first is the case, then you have to consider which functions you offer to the costumer, to give him as much options as possible.