Split up Widget into a bunch of smaller files