package main import termbox "github.com/nsf/termbox-go" type Screen interface { handleKeyEvent(event termbox.Event) int performLayout() drawScreen(style Style) } func drawBackground(bg termbox.Attribute) { termbox.Clear(0, bg) } func layoutAndDrawScreen(screen Screen, style Style) { screen.performLayout() drawBackground(style.defaultBg) screen.drawScreen(style) termbox.Flush() }