Javascript function that reassigns itself
<p>How do I keep <code>accordions</code> from being initialized when the page loads... I'd like it only to be run from inside of a method (other than <code>init()</code> of course) but only when needed</p>

<pre><code>$.extend($.fn, {
        accordion: function () {
            var accordion = (function () {
                var accordions = (function () {
                    alert('test');
                    return 1;
                })();

                return {
                    init: function (el) {
                        el.click(function (e) {
                            accordion.show(el);
                        });
                    },
                    show: function (el) {
                        console.log(accordions);
                    }
                }
            })();

            this.each(function() {
                accordion.init($(this));
            });
        }
    });
</code></pre>

<p>I hope I've provided enough detail :-\</p>
