Going off in a rabbit hole to implement opacity, rewriting the libraries and driving an event-based ship.