Reworked Interface class. Now drastically simplified, and supports multiple interfaces.