This is something that I can easily be fixed in the editor code.
I know. I definitely want to spend 3-4 days just to review all the code that we have lie around by now.
I am not sure, lets discuss a bit more. I would say that hidden IO-Points are good for easy learnability, because the IO-Points guarantee that you can reference data throughout the entire code and all platforms via "object" and "location" within the object. This would make it simpel to understand.
If we open another data connection, this would mean that you would need to learn an entire new system.
With hidden IO-Points you just need to add the attribute hidden to what is already known. It makes it more simple.
I would agree that it does not make sense to have these invisible data as part of the processing engine.. Maybe we can exclude them from the overall processing? And this is where you probably think that it is counter-intuitive? You might have a complete different method of interaction in mind? Can you write more about why it is counter-intuitive?
Maybe we can pass messages with another name then "object" to the server.
We could call them "interface" and as such they could be accessible in the server?
But if we find an intuitive method that can be modelt with what we have and we build up on it, it would make the learning curve for a new developer much smaller.