The best way to refactor a program is to refactor it.
The best art comes from personal experience.