class NewContainerFormPresenter implements WizardPage {

    void onDependencyPathSelectedEvent(@Observes final DependencyPathSelectedEvent event) {
        if (event != null &&
                event.getContext() != null &&
                event.getPath() != null) {
            if (event.getContext().equals(artifactListWidgetPresenter)) {
                m2RepoService.call(new RemoteCallback<GAV>() {
                    @Override
                    public void callback(GAV gav) {
                        setAValidContainerName(gav.toString());

                        view.setGroupId(gav.getGroupId());
                        view.setArtifactId(gav.getArtifactId());
                        view.setVersion(gav.getVersion());

                        wizardPageStatusChangeEvent.fire(new WizardPageStatusChangeEvent(NewContainerFormPresenter.this));
                    }
                }).loadGAVFromJar(event.getPath());
            }
        } else {
            logger.warn("Illegal event argument.");
        }
    }

    @Inject public  NewContainerFormPresenter(final Logger logger,
                                     final View view,
                                     final ManagedInstance<ArtifactListWidgetPresenter> artifactListWidgetPresenterProvider,
                                     final Caller<M2RepoService> m2RepoService,
                                     final Caller<SpecManagementService> specManagementService,
                                     final Event<WizardPageStatusChangeEvent> wizardPageStatusChangeEvent);

}