Made input module more flexible by allowing explicit update steps