This is probably the ugliest part, but the differences in how things initialize based on content type have ended up here. I don't think its *so* bad. @ascott1