Changed the Instruction interface into an abstract class