public function getExtraPropertiesFor($interface) {
        if(!$this->isInterfaceAvailable($interface)) {
            throw new InvalidArgumentException('Unknown interface: ' . $interface);
        }

        $interfaceRelation = self::relation[$interface];
        if(!isset($interfaceRelation['extraProperties'])) {
            throw new InvalidArgumentException('Interface: ' . $interface . ' does not support extra properties.');
        }

        return $interfaceRelation['extraProperties'];
    }