A JavaScript application framework