Recalculate on keyup instead of model changes