OOP Spaghetti code explained