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