static methods are problematic because use of this means context is dependent on the calling function. a solution is to fix the context at the appropriate level and pass this fixed context as an argument, but this results in wrapping functions in context functions... it is an inelegant solution. Rather than fixate on static methods, it is better to forgo the use of this entirely and just pass mongoose models if functionality is to be added.