We are not talking about a software application - we are talking real-world implementation. DUH!
We are not talking about an abstract representation of a Taxi, we were talking about a real Taxi.
You can not apply OO concepts to the real-world - you CAN represent abstractions of the real world with OO concepts but that was not what you were trying to do.
And to think I started that to try to agree with you in part, that firmware IS software.