Outsource PList into separate file
Outsource constants
Outsource icon conversion method
Outsource setting classes
Refactor Plist generation to avoid mutable state