separate data from presentation

building toward a secret idea I've been kicking around...