It sounds to me like the background object should be global. After all, it's part of the context of the entire game.
Yes, yes, I know, "globals are bad," you should never use them, blah blah blah. Tell it to cin and cout. When a piece of data is part of the overall context of the program, then make it a global.