First Example 7. (step1) copy method

Customer.amountFor --> Rental.getCharge
First Example 8. (step2) delegate method

Customer.amountFor delegates aRental.getCharge()
First Example 9. (step3) inline amountFor
First Example 10. Replace Temp with Query

Inline thisAmount temp var
First Example 11. (step1-3) extract Method

extract getFrequenctRenterPoint
First Example 12. reorganize getFrequentRentPoint
First Example 13. (step1) remove totalAmount

Temp var is hard to understand sometimes.
Replace temp with Query
First, gather code related with totalAmount.
First Example 14. (step2) extract, inline method
First Example 15. (step1) remove frequentRenterPt
First Example 16. (step2) extract, inline method

remove temp with Query
First Example 17. move getCharge to Movie class
First Example 17. move getFrequent... to Movie