Refactor widget formation, allowing custom widgets to be used. Remove unnecessary override of __init__.