Importer refactor

Merge of first round of importer refactorings with @motasem-salem work effectively merging #140 and #149.
just so i understand, we're not talking about this pr are we?