It's an inheritance of procedural programming. You're thinking in terms of procedures and operators (similar to Assembly, Cobol, or C languages). You're expecting the program to be executed in consecutive steps, from top to down. This is not how OOP or functional programming should work. OOP is all about composition of objects. In OOP in 90% of our code we compose objects (see the example above), and in 10% we call their methods (there is only one call in the example above).

Try this book: http://www.amazon.com/Object-Thinking-DV-Microsoft-Professional-David/dp/0735619654