Split up IDC into files for happy navigation of the project.

@camilo @boourns