Refactor functionality into separate programs.