replace mutexes with Arc-RwLocks so the references can be opened with read-only access when drawing to the screen since, of course, the emulator is the only writer
try to decouple the references and not use sophisticated smart pointers when plain references would be fine