Also added several features including dynamic sockets in nodes, abstracted units for sockets, and more.