Refactoring: identifying necessary headers for interface.h.

Fixing circular references in the headers.