To prepare the bean layer, combine all of the ingredients in a food processor and process until a uniform texture is achieved. Spread the beans evenly over the bottom of a 9"x9" dish.
To prepare the cheese sauce layer, cut a large Yukon Gold potato into chunks and steam for 10-15 minutes, until fork tender, then fork-mash in a bowl and measure out one cup to use in the sauce. Combine all of the sauce ingredients in a blender, and blend until completely smooth and creamy. Pour over the bean layer and set aside.
To prepare the guacamole, combine all of the ingredients in a large bowl, and mash together with a fork. Spoon over the cheese sauce layer, then top with the prepared pico de gallo (or salsa) and garnish with chopped green onions. Serve immediately, or chill in the fridge until it's game time!
To prepare this dip more than a day ahead of time, I recommend making the bean and cheese sauce layers ahead of time, but don't top it with the guacamole and salsa until the day of serving for best appearance and texture.