How merging namespaces and interfaces works| www.typescriptlang.org
Using the mixin pattern with TypeScript| www.typescriptlang.org