Have dashboard store widget constructors so they can be dynamically allocated.