Screen manager works (fixes #5). I don't love the impl.