Encapsulate it into an object, construct an interface and continue so, until you have declared all the sub-problems. When you have encapsulated the objects of the problem, and ensured, that they work correctly, you can abstract from them. OOP is also sometimes known as data-driven programming. You can actually let objects themselves do the work for you. They contain methods, which are invoked when objects are created, deleted, and whenever you call them.
Methods can call methods of other objects.
The way data is stored in traditional programming languages is usually hard to grasp for humans and not suited for modeling. Objects are far more complex data structure than lists. At the basic level an object is a declaration of coherent data and predicates, which can work on these data. In OOP-terminology these predicates are called methods. A class is a definition of an object.