Make Instruction sealed abstract class