Making Component an interface