Quote Originally Posted by LastCraft
If a method doesn't involve properties or methods in that class, what the heck is the method doing in that class? Move it to the caller.

If it's duplicated in several client classes then you probably have a design problem. If it's so generic it still appears in several classes, and there is too much code to simply duplicate it (more than a one liner), you'll still probably want to have an instance. That way you can test the client code more easily
Honestly, I agree entirely. Those functions don't belong there - in fact their only reasoning is the naming.

But my point is that if you are going to have a function which doesn't involve the object, why instantiate the object in the first place?

The ultimate solution would be to move them to the global namespace. But my point is, its better (IMO) to have a method static within a class than having to instantiate an object where it isn't needed.

As for frameworks, personally I find nothing beats writing your own.