sleeping over: It can only by the first approach. I am just having problems with C# as a VB.Net-guy. It would be great if you could post a short code sample of how the hardware abstraction layer should look like (a mini interface, Ev3 and Simu implementation with , just new and dispose). Then I could keep going in your style.
I’ll keep going,
P.S.: I guess buttons, lcd, sound should be singletons, the rest can have multiple instances.