Now and again you might want to extract out complex logic into its own class and access instances of shared functionality via your Helpers and Events. Ideally what I want to do is create an instance in the created hook and then make use of that instance in the Helpers and Events. This is the solution I came up with - I’m not sure if it’s the correct approach but I haven’t seen anything better yet.

 function MySharedFunctionaity() {
   this.counter = new ReactiveVar(0);

   this.nextCounter = function() {
     this.counter.set(this.counter + 1);

   this.getCounter = function() {
     return this.counter.get();

 Template.myTemp.created = function() {
   this.sharedFunc = new MySharedFunctionaity();
   ‘click #increment’: function(e, template) {

   ctr: functuon() {
     var template = UI._templateInstance();
     return template.sharedFunc.getCounter();

Feel free to correct me, with a comment below, if there is a better approach.

UPDATE: Changed MySharedFunctionaity to use ReactiveVar.