Importer refactor

Merge of first round of importer refactorings with @motasem-salem work effectively merging #140 and #149.
Its only for subclassing. My feelings on moving into a separate file is to do so if we need to keep this longer term. If it turns out to be a stepping stone ( currently my gut feeling ) I am inclined to leave it here.