Finished Section 9.1 exercise, EmptyFrameViewer.