A widget framework using jquery and requirejs