It's funny seeing the programme title of "Total Information Awareness". That was the title of pretty much the same system in a British TV drama. The show was about an Orwellian dystopia, where the government is on the verge of introducing this program that can monitor and control every point of human interaction - quite foreboding. The show was called "The Last Enemy": http://www.imdb.com/title/tt0966151/
I would not give the refactoring recommendation you suggest. I would make both Account and Customer 'Displayable' and 'Persistable' ( still thinking in Java :( ). Then implement a kind of Strategy pattern to take a Displayable object. Same goes for Persistable.
That way you can focus on the domain objects as data, and how they are related to each other. You can also come up with cleaner (and more orthogonal) patterns of how to display, persist, or otherwise handle that data.
Thank-you for discussing this topic as it's been a major endevour of my life for the last 3 years (http://frye.blogs.com/thebox/2008/05/on-cities-and-a.html). I wanted to get it out of the way so to speak, so I could focus on life's more essential aspects such as living, loving and producing interesting work.