The EaselTS Typescript library provides a full, hierarchical display list, a core interaction model, and helper classes to make working with the HTML5 Canvas element much easier. This is a fork of CreateJS/EaselJS and all credit should go to that library