private static IDispatchee BuildDoorFromThis(IDispatchee door)
        {
            door.CheckType(Door.DispatcheeName);

            return(new Door((Door)door));
        }
 private static IDispatchee BuildRockFromThis(IDispatchee rock)
 {
     rock.CheckType(Rock.DispatcheeName);
     return(new Rock((Rock)rock));
 }
 private static IDispatchee BuildWallFromThis(IDispatchee wall)
 {
     wall.CheckType(Wall.DispatcheeName);
     return(new Wall((Wall)wall));
 }