Defining contracts with interfaces and partial implementations with abstract classes
Open on Cached Info