move logic returns tween instead of executes it

centralized tween execution to apply_ply