I predict that the first person to buy one of your function blocks will ask if you can tweak it because it doesn't exactly fit his application for it.
I've dealt with this too much, where a program was made for a specific machine and a customer wants to "just copy it from the other machine". but there are so many small differences that it would be a nightmare to try and make it work instead of just starting new.