Yep, see this issue on GitHub. The general idea is to provide a separate assembly (Ketchup.Api) that others could include in their projects, that would provide a single interface (IDevice) that others could implement with their Parts or Modules. Then when a vessel is loaded the DCPU would scan the vessel for any parts which implement IDevice and dynamically connect them to the CPU through a wrapper class which subclasses Tomato's Device object. I've been working on loading and storing the state of the computer, which is fairly straight forward for the CPU itself, but gets complicated with external devices. I was planning on just allowing external devices to persist their own state, but this is complicated by the fact that you could have multiple of the same device attached (think dual monitors), and not only would the two instances have to store their state without colliding with each other, but when we restore state, they would have to be restored in the right order so that the right device with the right state gets the right device index. To properly support this I'll probably need a common device interface anyway, so this will likely be the next thing I work on. By the way, for anyone following this project, I plan to do weekly releases with whatever work I've done in the previous week, not when a large set of changes are ready. So releases will likely be small, but they'll be consistent and predictable. The link to the GitHub releases page is in the first post. As far as I know, yes. I was planning on using a prefix of 0xCAE00000 ('K') for any Kerbal-specific manufacturers and devices though.