I read that Factory Method is used to 1) decouple the class that needs to create the object from the creational code, and 2) reuse the creational code whenever it is needed.