Changed widget data-update mechanism from setInterval to recursive functions. Added a feature for performing the ajax requests less frequently after receiving an error. Also dashboard now performs a full-page reload every hour to increase stability.