pub fn new<TMessage>() -> Box<Component<TMessage, Config>>where
    TMessage: IMessage + 'static,