Let's not have this lib know anything about the UI.  We want to separate the backend and frontend.