draw_box and position_input are called because they need to be called before *input_handles[active_input] for the cursor to be positioned correctly.