Make Subsystem an abstract class