What are the best practices for using Extension Methods in .Net? | I have seen these being used every which way, and have been accused of using them the wrong way (though in that case, I was using them that way to demonstrate a [point](http://blog.gadodia.net/extension-methods-in-vbnet-and-c/)).


So, what do you think are the best practices for employing Extension Methods?


Should development teams create a library of extension methods and deploy them across various projects?


Should there be a collection of common extension methods in the form of an open source project?


*Update: have decided to create an organization wide extension methods library*