Refactored Viewport Pane into its own class