I have a question: I have a client for some database thing and I want to make it easy to extend it. I don't want to use extension functions directly because it would make things a little bit messy. (E.g: Some functions might have the same name but different functionality and that would lead to stupid function names). So I thought it would be better if I split these functions into modules so each module has its associated functions:
client.moduleName.associatedFunction()
The "moduleName" is a extension property.
Now the problem is the associatedFunction() always needs the original client. Thats why I cant make the module an object. But creating a instance of this Module every time someone calls it (with the client as parameter), is also not good.
Any idea on how to improve that?