As long as he splits carries and doesn't get a major injury I think Deangelo can be effective into this 30's. But Stewart will over take him eventually, it's just a natural process.
Why extend Williams, then wait until he's in his 30's and by that time Stewart has aged a bit as well? that's wasting talent. And Who knows Stewart may want to be a starter somewhere in 2013 when his contract is up.