A TypeScript implementation of Signals