Using ES5 Object.seal and Object.defineProperty for having non-writable class, module or callback templates that cant be changed at runtime.