Separated Widget into Component and Container.