I fail to see how this is a bad thing. Open source modules like this are meant to be used because they perform a task that’s not easy to do.
You could’ve said this from the outset, instead of entertaining the idea of using the module.
If you’re really deadset on learning how to do this yourself, you can look at how the module is created to figure out how to go about your own method. I see you recently commented on an old thread that asks how a similar system is done. The solution offered is quite a good one, just create points between a start and end position and offset them slightly, and then connect them.