Helper class: Static or non-static functions
<p>When creating a helper class that has methods like stripping whitespace from a string, do you create the methods as <code>static</code> or non-<code>static</code> functions?</p>

<p>Also if the static method wants to call another function <code>do_magic()</code> in the class, how should the function be defined as (static or non-static?) and do we have to use <code>self::</code>?</p>

<pre><code>class Helper {
    public static strip_whitespace() {
        // do some magic
        self::do_magic();

    }

    private do_magic() {
        // magic
    }
}
</code></pre>
