Defining Problem base class and interface