class Singleton
@getInstance: ->
@_instance ?= new @(@,arguments...)
constructor: (args...) ->
unless @constructor == args.shift()
throw new Error('Cannot call new on a Singleton')
return args
class Manager extends Singleton
constructor: ->
[@arg] = super
What about this approach:
It makes
new Manager()
unlikely.