Using templates in ISystem class.