Using two interfaces, IDirection and ILocation, I can make the Map in CatanMap more generic and hold all the pieces.  This makes it easier to code, implement, understand, and maintain