TypeScript files support added, project refactoring to chain of responsibility pattern