Events not working in custom container

Hello,

I wrote custom container which contains button. When i click the button inside of custom container nothing happens.
I really don’t understand why events not working.
Here is code…

// My Component connector..
@Connect(MyComponent.class)
public class MyComponentConnector extends AbstractComponentContainerConnector {
@Override
    public void onConnectorHierarchyChange(ConnectorHierarchyChangeEvent connectorHierarchyChangeEvent) {
        List<ComponentConnector> children = getChildComponents();
        MyComponentWidget w = getWidget();
        w.setHTML("Container");

        for (ComponentConnector connector : children)
            w.getElement().appendChild(connector.getWidget().getElement());
    }

}


//My Component
public class MyComponent extends com.vaadin.ui.AbstractComponentContainer {
    private MyComponentServerRpc rpc = new MyComponentServerRpc() {

        public void clicked(MouseEventDetails mouseDetails) {

        }
    };  

    List<Component> children = new ArrayList<Component>();

    public MyComponent(Component c) {
        super.addComponent(c);
        children.add(c);
        markAsDirty();
        registerRpc(rpc);
    }

@Override
    public MyComponentState getState() {
        return (MyComponentState) super.getState();
    }

@Override
    public void replaceComponent(Component oldComponent, Component newComponent) {
        int index = children.indexOf(oldComponent);
        if (index != -1) {
            children.remove(index);
            children.add(index, newComponent);
            fireComponentDetachEvent(oldComponent);
            fireComponentAttachEvent(newComponent);
            markAsDirty();
        }
    }

@Override
    public int getComponentCount() {
        return children.size();
    }

@Override
    public Iterator<Component> iterator() {
        return children.iterator();
    }
}


// MyComponentUI
public class MycomponentUI extends UI {
@Override
    protected void init(VaadinRequest request) {
        final VerticalLayout layout = new VerticalLayout();
        layout.setMargin(true);
        setContent(layout);

        Button button = new Button("hello button");
        button.addClickListener(new ClickListener() {
            @Override
            public void buttonClick(ClickEvent event) {
                Notification.show("hello");
            }
        });
        MyComponent c = new MyComponent(button);
        layout.addComponent(c);
    }
}

Thanks.