Component Framework for TypeScript