More state rustification
Another weekend, another merge request.
We are now getting to the trickier properties, please see the individual commit message for some call outs on how things are done.
In between the rest, there is also a bugfix for #245 (closed)