Code clean up and rubocop fixes.
Extracted compilation into its own module and fixed remaining rubocop issues.
Fix for --force option.
Moved remaining TODO items to GH issues.