View Screen - refactor and add API for new screen types.