Wiring is very good as it is - but I have an idea that could help to improve it. The idea: Currently, wiring objects take two values: On and Off. What if, instead a wiring object outputted a table, which other wired objects could use to determine if they should be on or off. For example, I have a button, connected to a user identification computer, connected to a door. I press the button. The button outputs a signal with {true, Button, Notunknown} (where "Button" is a reference to the button object and "Notunknown" is a reference to my character) The computer reads the signal, and runs some code and says that I am an allowed user, so outputs the same signal. The door then checks the first element of the table, and if it evaluates to true will open, otherwise will close. This will allow many more creations to be possible - although basic logic gates can still exist, more advanced wiring objects can exist, such as computers which allow you to write Lua code in-game to control stuff. Note: The table can have any contents, which depends entirely on what the creator of the object wrote in the script, so that large amounts of data can be sent if required. For example, I could have a button linked to a computer linked to a door and a turret. When the button is pressed, the computer checks the inventory of the user for a key card with a code on it. If the user has a valid key card with a valid code, the computer outputs a signal to the door, otherwise it outputs a signal to the turret, telling it to target the user. An Advanced Wiring Tool could be implemented, which allows you to name objects for use in code. For example, if an input object has 3 buttons connected, you could name them "button1", "button2" and "button3" to allow the connected devices to know what button was pressed. On a side note, if entities could ever be wired, this would allow easily programmable drones which can be controlled from a central computer.