One of the most important things when dealing with any system is having a model in your mind of how the system works. As with most abstractions it is not necessary that the model reflects how the system is implemented as long as it allows one to make accurate predictions on how certain actions will result in predictable events. The model may even be wrong but seem to work. I have a very bad model for how my Microwaves and Video player work and hence am restricted to using only a couple of buttons.