public T CreateAndBindMediator <T>(View <T> view) where T : class
        {
            var  viewType = view.GetType();
            Type mediatorType;

            if (!_mediators.TryGetValue(viewType, out mediatorType))
            {
                throw new ContainerException("Can't find mediator for view type " + viewType.Name);
            }

            var mediator = Resolve(mediatorType);

            SetupView(mediator, view);

            EventBinder.BindEventHandlers(mediator, view);
            var m = mediator as IMediator;

            if (m != null)
            {
                m.AfterViewBinded(view);
            }
            return((T)mediator);
        }