I'm not reusing any pre-existing Z80 emulation code, I'm implementing the Z80 again this time around in such a way that it can later be reused to make it scriptable, and more importantly, a component that can be used to later model the SMPeccy from modular parts.
But what I like about this approach the most is that I can, for example, implement a 6502 or a 68000 and assemble chimeric virtual computers from the modules I have available.
If you're familiar with VSTs which are popular in the digital audio and music space, you know what I'm talking about. I have no idea why this idea has never been very popular before among retro computer enthusiasts.
https://en.wikipedia.org/wiki/Virtual_Studio_Technology
As for the scripting language, I'm for now using a dialect of LISP, simply because it's the easiest to implement and build an AST from quickly and without introducing unnecessary dependencies. Call it ZX Script, or something.