class RemotePresenter {

    public void onInstanceUpdate( @Observes final ServerInstanceUpdated serverInstanceUpdated ) {
        if ( serverInstanceUpdated != null &&
                serverInstanceUpdated.getServerInstance() != null ) {
            final ServerInstanceKey updatedServerInstanceKey = toKey( serverInstanceUpdated.getServerInstance() );
            if ( serverInstanceKey != null && serverInstanceKey.getServerInstanceId().equals( updatedServerInstanceKey.getServerInstanceId() ) ) {
                serverInstanceKey = updatedServerInstanceKey;
                loadContent( serverInstanceUpdated.getServerInstance().getContainers() );
            }
        } else {
            logger.warn( "Illegal event argument." );
        }
    }

    @Inject public  RemotePresenter( final Logger logger,
                            final View view,
                            final RemoteStatusPresenter remoteStatusPresenter,
                            final RemoteEmptyPresenter remoteEmptyPresenter,
                            final Caller<RuntimeManagementService> runtimeManagementService,
                            final Caller<SpecManagementService> specManagementServiceCaller,
                            final Event<NotificationEvent> notification );

}