Vala compiler likes this better for some reason
Break Dock out into an interface Dock, and two implementations, WindowDock and FloatingPanelDock.