There’s already a virtual hardware plugin, and a Python-scriptable Kaleidoscope simulation package.
See the following thread for more info: