I would change this to extend view instead of widget. The rest of my comments in here will be based around the assumption that you will be changing it to a view.