Oh. I glossed over that part. Sorry.
Hrm... And it's not giving any errors, or it wouldn't be able to continue the script.
All of that looks technically correct (the best kind of correct). Nothing shows up at all? Are all of the other Frames working? Is your chat_frame itself showing up?
If you're up for it, you can go right into the .lua files in your profile directory and add test echoes; I would suggest adding some before you enter that for and afterward, so you know which lines are relevant. Something to look for would be the Background component not actually appearing. So, you might put an echo in the Add function, like...
if object.Subtype == "Background" then
echo(" Background added to " .. name .. ".\n")
end
That at least verifies that it is working.
I'll do the same on my end and see if I can identify anything. If there are no other errors (does the GUI draw? Does it get stuck anywhere?), then it's possible there's some kind of conflict with the way I'm returning the Frames table.
I'm rambling. Sorry. I'll see what I can come up with.