Currently, the user is responsible for calling draw if needed.