A JavaScript application framework emphasizing modularity and encapsulation