My attempt to create a js application framework