diff --git a/src/libs/qmljsdebugclient/qdeclarativeenginedebug.cpp b/src/libs/qmljsdebugclient/qmlenginedebugclient.cpp
similarity index 77%
rename from src/libs/qmljsdebugclient/qdeclarativeenginedebug.cpp
rename to src/libs/qmljsdebugclient/qmlenginedebugclient.cpp
index 6f12de8f94b0efb057534c7ff053659dfed96c01..7dad4ac68331fabc6b19c8adfc093f4932daf29e 100644
--- a/src/libs/qmljsdebugclient/qdeclarativeenginedebug.cpp
+++ b/src/libs/qmljsdebugclient/qmlenginedebugclient.cpp
@@ -29,49 +29,31 @@
 **
 **************************************************************************/
 
-#include "qdeclarativeenginedebug.h"
-
-#include "qdeclarativedebugclient.h"
+#include "qmlenginedebugclient.h"
 
 namespace QmlJsDebugClient {
 
-class QDeclarativeEngineDebugClient : public QDeclarativeDebugClient
-{
-public:
-    QDeclarativeEngineDebugClient(QDeclarativeDebugConnection *client, QDeclarativeEngineDebugPrivate *p);
-
-protected:
-    virtual void statusChanged(Status status);
-    virtual void messageReceived(const QByteArray &);
-
-private:
-    QDeclarativeEngineDebugPrivate *priv;
-    friend class QDeclarativeEngineDebugPrivate;
-};
-
-class QDeclarativeEngineDebugPrivate
+class QmlEngineDebugClientPrivate
 {
-    //    Q_DECLARE_PUBLIC(QDeclarativeEngineDebug)
 public:
-    QDeclarativeEngineDebugPrivate(QDeclarativeEngineDebug *, QDeclarativeDebugConnection *);
-    ~QDeclarativeEngineDebugPrivate();
+    QmlEngineDebugClientPrivate(QmlEngineDebugClient *);
+    ~QmlEngineDebugClientPrivate();
 
     void statusChanged(QDeclarativeDebugClient::Status status);
     void message(const QByteArray &);
 
-    QDeclarativeEngineDebugClient *client;
-    QDeclarativeEngineDebug *q_ptr;
+    QmlEngineDebugClient *q;
     int nextId;
     int getId();
 
     void decode(QDataStream &, QDeclarativeDebugContextReference &);
     void decode(QDataStream &, QDeclarativeDebugObjectReference &, bool simple);
 
-    static void remove(QDeclarativeEngineDebug *, QDeclarativeDebugEnginesQuery *);
-    static void remove(QDeclarativeEngineDebug *, QDeclarativeDebugRootContextQuery *);
-    static void remove(QDeclarativeEngineDebug *, QDeclarativeDebugObjectQuery *);
-    static void remove(QDeclarativeEngineDebug *, QDeclarativeDebugExpressionQuery *);
-    static void remove(QDeclarativeEngineDebug *, QDeclarativeDebugWatch *);
+    static void remove(QmlEngineDebugClient *, QDeclarativeDebugEnginesQuery *);
+    static void remove(QmlEngineDebugClient *, QDeclarativeDebugRootContextQuery *);
+    static void remove(QmlEngineDebugClient *, QDeclarativeDebugObjectQuery *);
+    static void remove(QmlEngineDebugClient *, QDeclarativeDebugExpressionQuery *);
+    static void remove(QmlEngineDebugClient *, QDeclarativeDebugWatch *);
 
     QHash<int, QDeclarativeDebugEnginesQuery *> enginesQuery;
     QHash<int, QDeclarativeDebugRootContextQuery *> rootContextQuery;
@@ -81,35 +63,23 @@ public:
     QHash<int, QDeclarativeDebugWatch *> watched;
 };
 
-QDeclarativeEngineDebugClient::QDeclarativeEngineDebugClient(QDeclarativeDebugConnection *client,
-                                                             QDeclarativeEngineDebugPrivate *p)
-    : QDeclarativeDebugClient(QLatin1String("QDeclarativeEngine"), client), priv(p)
+void QmlEngineDebugClient::statusChanged(Status status)
 {
+    emit newStatus(status);
 }
 
-void QDeclarativeEngineDebugClient::statusChanged(Status status)
+void QmlEngineDebugClient::messageReceived(const QByteArray &data)
 {
-    if (priv)
-        priv->statusChanged(status);
+    d->message(data);
 }
 
-void QDeclarativeEngineDebugClient::messageReceived(const QByteArray &data)
+QmlEngineDebugClientPrivate::QmlEngineDebugClientPrivate(QmlEngineDebugClient *q)
+    : q(q), nextId(0)
 {
-    if (priv)
-        priv->message(data);
 }
 
-QDeclarativeEngineDebugPrivate::QDeclarativeEngineDebugPrivate(QDeclarativeEngineDebug *q, QDeclarativeDebugConnection *c)
-    : client(new QDeclarativeEngineDebugClient(c, this)), q_ptr(q), nextId(0)
+QmlEngineDebugClientPrivate::~QmlEngineDebugClientPrivate()
 {
-}
-
-QDeclarativeEngineDebugPrivate::~QDeclarativeEngineDebugPrivate()
-{
-    if (client)
-        client->priv = 0;
-    delete client;
-
     QHash<int, QDeclarativeDebugEnginesQuery*>::iterator enginesIter = enginesQuery.begin();
     for (; enginesIter != enginesQuery.end(); ++enginesIter) {
         enginesIter.value()->m_client = 0;
@@ -145,32 +115,32 @@ QDeclarativeEngineDebugPrivate::~QDeclarativeEngineDebugPrivate()
     }
 }
 
-int QDeclarativeEngineDebugPrivate::getId()
+int QmlEngineDebugClientPrivate::getId()
 {
     return nextId++;
 }
 
-void QDeclarativeEngineDebugPrivate::remove(QDeclarativeEngineDebug *c, QDeclarativeDebugEnginesQuery *q)
+void QmlEngineDebugClientPrivate::remove(QmlEngineDebugClient *c, QDeclarativeDebugEnginesQuery *q)
 {
     if (c && q) {
-        QDeclarativeEngineDebugPrivate *p = c->d_func();
+        QmlEngineDebugClientPrivate *p = c->priv();
         p->enginesQuery.remove(q->m_queryId);
     }
 }
 
-void QDeclarativeEngineDebugPrivate::remove(QDeclarativeEngineDebug *c,
+void QmlEngineDebugClientPrivate::remove(QmlEngineDebugClient *c,
                                             QDeclarativeDebugRootContextQuery *q)
 {
     if (c && q) {
-        QDeclarativeEngineDebugPrivate *p = c->d_func();
+        QmlEngineDebugClientPrivate *p = c->priv();
         p->rootContextQuery.remove(q->m_queryId);
     }
 }
 
-void QDeclarativeEngineDebugPrivate::remove(QDeclarativeEngineDebug *c, QDeclarativeDebugWatch *w)
+void QmlEngineDebugClientPrivate::remove(QmlEngineDebugClient *c, QDeclarativeDebugWatch *w)
 {
     if (c && w) {
-        QDeclarativeEngineDebugPrivate *p = c->d_func();
+        QmlEngineDebugClientPrivate *p = c->priv();
         p->watched.remove(w->m_queryId);
     }
 }
@@ -213,23 +183,23 @@ QDataStream &operator>>(QDataStream &ds, QDeclarativeObjectProperty &data)
     return ds;
 }
 
-void QDeclarativeEngineDebugPrivate::remove(QDeclarativeEngineDebug *c, QDeclarativeDebugObjectQuery *q)
+void QmlEngineDebugClientPrivate::remove(QmlEngineDebugClient *c, QDeclarativeDebugObjectQuery *q)
 {
     if (c && q) {
-        QDeclarativeEngineDebugPrivate *p = c->d_func();
+        QmlEngineDebugClientPrivate *p = c->priv();
         p->objectQuery.remove(q->m_queryId);
     }
 }
 
-void QDeclarativeEngineDebugPrivate::remove(QDeclarativeEngineDebug *c, QDeclarativeDebugExpressionQuery *q)
+void QmlEngineDebugClientPrivate::remove(QmlEngineDebugClient *c, QDeclarativeDebugExpressionQuery *q)
 {
     if (c && q) {
-        QDeclarativeEngineDebugPrivate *p = c->d_func();
+        QmlEngineDebugClientPrivate *p = c->priv();
         p->expressionQuery.remove(q->m_queryId);
     }
 }
 
-void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugObjectReference &o,
+void QmlEngineDebugClientPrivate::decode(QDataStream &ds, QDeclarativeDebugObjectReference &o,
                                             bool simple)
 {
     QDeclarativeObjectData data;
@@ -289,7 +259,7 @@ void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugOb
     }
 }
 
-void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugContextReference &c)
+void QmlEngineDebugClientPrivate::decode(QDataStream &ds, QDeclarativeDebugContextReference &c)
 {
     ds >> c.m_name >> c.m_debugId;
 
@@ -313,12 +283,12 @@ void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugCo
     }
 }
 
-void QDeclarativeEngineDebugPrivate::statusChanged(QDeclarativeDebugClient::Status status)
+void QmlEngineDebugClientPrivate::statusChanged(QDeclarativeDebugClient::Status status)
 {
-    emit q_ptr->statusChanged(status);
+    emit q->statusChanged(status);
 }
 
-void QDeclarativeEngineDebugPrivate::message(const QByteArray &data)
+void QmlEngineDebugClientPrivate::message(const QByteArray &data)
 {
     QDataStream ds(data);
 
@@ -431,33 +401,25 @@ void QDeclarativeEngineDebugPrivate::message(const QByteArray &data)
             return;
         emit watch->valueChanged(name, value);
     } else if (type == "OBJECT_CREATED") {
-        emit q_ptr->newObjects();
+        emit q->newObjects();
     }
 }
 
-QDeclarativeEngineDebug::QDeclarativeEngineDebug(QDeclarativeDebugConnection *client, QObject *parent)
-    : QObject(parent), d_ptr(new QDeclarativeEngineDebugPrivate(this, client))
-{
-    setObjectName(d_ptr->client->name());
-}
-
-QDeclarativeEngineDebug::~QDeclarativeEngineDebug()
+QmlEngineDebugClient::QmlEngineDebugClient(QDeclarativeDebugConnection *client)
+    : QDeclarativeDebugClient(QLatin1String("QDeclarativeEngine"), client),
+      d(new QmlEngineDebugClientPrivate(this))
 {
 }
 
-QDeclarativeDebugClient::Status QDeclarativeEngineDebug::status() const
+QmlEngineDebugClient::~QmlEngineDebugClient()
 {
-    Q_D(const QDeclarativeEngineDebug);
-
-    return d->client->status();
+    delete d;
 }
 
-QDeclarativeDebugPropertyWatch *QDeclarativeEngineDebug::addWatch(const QDeclarativeDebugPropertyReference &property, QObject *parent)
+QDeclarativeDebugPropertyWatch *QmlEngineDebugClient::addWatch(const QDeclarativeDebugPropertyReference &property, QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     QDeclarativeDebugPropertyWatch *watch = new QDeclarativeDebugPropertyWatch(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled) {
+    if (status() == QDeclarativeDebugClient::Enabled) {
         int queryId = d->getId();
         watch->m_queryId = queryId;
         watch->m_client = this;
@@ -468,7 +430,7 @@ QDeclarativeDebugPropertyWatch *QDeclarativeEngineDebug::addWatch(const QDeclara
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("WATCH_PROPERTY") << queryId << property.objectDebugId() << property.name().toUtf8();
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         watch->m_state = QDeclarativeDebugWatch::Dead;
     }
@@ -476,17 +438,16 @@ QDeclarativeDebugPropertyWatch *QDeclarativeEngineDebug::addWatch(const QDeclara
     return watch;
 }
 
-QDeclarativeDebugWatch *QDeclarativeEngineDebug::addWatch(const QDeclarativeDebugContextReference &, const QString &, QObject *)
+QDeclarativeDebugWatch *QmlEngineDebugClient::addWatch(const QDeclarativeDebugContextReference &, const QString &, QObject *)
 {
     qWarning("QDeclarativeEngineDebug::addWatch(): Not implemented");
     return 0;
 }
 
-QDeclarativeDebugObjectExpressionWatch *QDeclarativeEngineDebug::addWatch(const QDeclarativeDebugObjectReference &object, const QString &expr, QObject *parent)
+QDeclarativeDebugObjectExpressionWatch *QmlEngineDebugClient::addWatch(const QDeclarativeDebugObjectReference &object, const QString &expr, QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
     QDeclarativeDebugObjectExpressionWatch *watch = new QDeclarativeDebugObjectExpressionWatch(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled) {
+    if (status() == QDeclarativeDebugClient::Enabled) {
         int queryId = d->getId();
         watch->m_queryId = queryId;
         watch->m_client = this;
@@ -497,19 +458,17 @@ QDeclarativeDebugObjectExpressionWatch *QDeclarativeEngineDebug::addWatch(const
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("WATCH_EXPR_OBJECT") << queryId << object.debugId() << expr;
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         watch->m_state = QDeclarativeDebugWatch::Dead;
     }
     return watch;
 }
 
-QDeclarativeDebugWatch *QDeclarativeEngineDebug::addWatch(const QDeclarativeDebugObjectReference &object, QObject *parent)
+QDeclarativeDebugWatch *QmlEngineDebugClient::addWatch(const QDeclarativeDebugObjectReference &object, QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     QDeclarativeDebugWatch *watch = new QDeclarativeDebugWatch(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled) {
+    if (status() == QDeclarativeDebugClient::Enabled) {
         int queryId = d->getId();
         watch->m_queryId = queryId;
         watch->m_client = this;
@@ -519,7 +478,7 @@ QDeclarativeDebugWatch *QDeclarativeEngineDebug::addWatch(const QDeclarativeDebu
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("WATCH_OBJECT") << queryId << object.debugId();
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         watch->m_state = QDeclarativeDebugWatch::Dead;
     }
@@ -527,16 +486,14 @@ QDeclarativeDebugWatch *QDeclarativeEngineDebug::addWatch(const QDeclarativeDebu
     return watch;
 }
 
-QDeclarativeDebugWatch *QDeclarativeEngineDebug::addWatch(const QDeclarativeDebugFileReference &, QObject *)
+QDeclarativeDebugWatch *QmlEngineDebugClient::addWatch(const QDeclarativeDebugFileReference &, QObject *)
 {
     qWarning("QDeclarativeEngineDebug::addWatch(): Not implemented");
     return 0;
 }
 
-void QDeclarativeEngineDebug::removeWatch(QDeclarativeDebugWatch *watch)
+void QmlEngineDebugClient::removeWatch(QDeclarativeDebugWatch *watch)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     if (!watch || !watch->m_client)
         return;
 
@@ -545,20 +502,18 @@ void QDeclarativeEngineDebug::removeWatch(QDeclarativeDebugWatch *watch)
     
     d->watched.remove(watch->queryId());
 
-    if (d->client && d->client->status() == QDeclarativeDebugClient::Enabled) {
+    if (status() == QDeclarativeDebugClient::Enabled) {
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("NO_WATCH") << watch->queryId();
-        d->client->sendMessage(message);
+        sendMessage(message);
     }
 }
 
-QDeclarativeDebugEnginesQuery *QDeclarativeEngineDebug::queryAvailableEngines(QObject *parent)
+QDeclarativeDebugEnginesQuery *QmlEngineDebugClient::queryAvailableEngines(QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     QDeclarativeDebugEnginesQuery *query = new QDeclarativeDebugEnginesQuery(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled) {
+    if (status() == QDeclarativeDebugClient::Enabled) {
         query->m_client = this;
         int queryId = d->getId();
         query->m_queryId = queryId;
@@ -567,7 +522,7 @@ QDeclarativeDebugEnginesQuery *QDeclarativeEngineDebug::queryAvailableEngines(QO
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("LIST_ENGINES") << queryId;
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         query->m_state = QDeclarativeDebugQuery::Error;
     }
@@ -575,12 +530,10 @@ QDeclarativeDebugEnginesQuery *QDeclarativeEngineDebug::queryAvailableEngines(QO
     return query;
 }
 
-QDeclarativeDebugRootContextQuery *QDeclarativeEngineDebug::queryRootContexts(const QDeclarativeDebugEngineReference &engine, QObject *parent)
+QDeclarativeDebugRootContextQuery *QmlEngineDebugClient::queryRootContexts(const QDeclarativeDebugEngineReference &engine, QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     QDeclarativeDebugRootContextQuery *query = new QDeclarativeDebugRootContextQuery(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled && engine.debugId() != -1) {
+    if (status() == QDeclarativeDebugClient::Enabled && engine.debugId() != -1) {
         query->m_client = this;
         int queryId = d->getId();
         query->m_queryId = queryId;
@@ -589,7 +542,7 @@ QDeclarativeDebugRootContextQuery *QDeclarativeEngineDebug::queryRootContexts(co
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("LIST_OBJECTS") << queryId << engine.debugId();
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         query->m_state = QDeclarativeDebugQuery::Error;
     }
@@ -597,12 +550,10 @@ QDeclarativeDebugRootContextQuery *QDeclarativeEngineDebug::queryRootContexts(co
     return query;
 }
 
-QDeclarativeDebugObjectQuery *QDeclarativeEngineDebug::queryObject(const QDeclarativeDebugObjectReference &object, QObject *parent)
+QDeclarativeDebugObjectQuery *QmlEngineDebugClient::queryObject(const QDeclarativeDebugObjectReference &object, QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     QDeclarativeDebugObjectQuery *query = new QDeclarativeDebugObjectQuery(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled && object.debugId() != -1) {
+    if (status() == QDeclarativeDebugClient::Enabled && object.debugId() != -1) {
         query->m_client = this;
         int queryId = d->getId();
         query->m_queryId = queryId;
@@ -612,7 +563,7 @@ QDeclarativeDebugObjectQuery *QDeclarativeEngineDebug::queryObject(const QDeclar
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("FETCH_OBJECT") << queryId << object.debugId()
            << false << true;
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         query->m_state = QDeclarativeDebugQuery::Error;
     }
@@ -620,12 +571,10 @@ QDeclarativeDebugObjectQuery *QDeclarativeEngineDebug::queryObject(const QDeclar
     return query;
 }
 
-QDeclarativeDebugObjectQuery *QDeclarativeEngineDebug::queryObjectRecursive(const QDeclarativeDebugObjectReference &object, QObject *parent)
+QDeclarativeDebugObjectQuery *QmlEngineDebugClient::queryObjectRecursive(const QDeclarativeDebugObjectReference &object, QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     QDeclarativeDebugObjectQuery *query = new QDeclarativeDebugObjectQuery(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled && object.debugId() != -1) {
+    if (status() == QDeclarativeDebugClient::Enabled && object.debugId() != -1) {
         query->m_client = this;
         int queryId = d->getId();
         query->m_queryId = queryId;
@@ -635,7 +584,7 @@ QDeclarativeDebugObjectQuery *QDeclarativeEngineDebug::queryObjectRecursive(cons
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("FETCH_OBJECT") << queryId << object.debugId()
            << true << true;
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         query->m_state = QDeclarativeDebugQuery::Error;
     }
@@ -643,12 +592,10 @@ QDeclarativeDebugObjectQuery *QDeclarativeEngineDebug::queryObjectRecursive(cons
     return query;
 }
 
-QDeclarativeDebugExpressionQuery *QDeclarativeEngineDebug::queryExpressionResult(int objectDebugId, const QString &expr, QObject *parent)
+QDeclarativeDebugExpressionQuery *QmlEngineDebugClient::queryExpressionResult(int objectDebugId, const QString &expr, QObject *parent)
 {
-    Q_D(QDeclarativeEngineDebug);
-
     QDeclarativeDebugExpressionQuery *query = new QDeclarativeDebugExpressionQuery(parent);
-    if (d->client->status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
+    if (status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
         query->m_client = this;
         query->m_expr = expr;
         int queryId = d->getId();
@@ -658,7 +605,7 @@ QDeclarativeDebugExpressionQuery *QDeclarativeEngineDebug::queryExpressionResult
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("EVAL_EXPRESSION") << queryId << objectDebugId << expr;
-        d->client->sendMessage(message);
+        sendMessage(message);
     } else {
         query->m_state = QDeclarativeDebugQuery::Error;
     }
@@ -666,49 +613,43 @@ QDeclarativeDebugExpressionQuery *QDeclarativeEngineDebug::queryExpressionResult
     return query;
 }
 
-bool QDeclarativeEngineDebug::setBindingForObject(int objectDebugId, const QString &propertyName,
+bool QmlEngineDebugClient::setBindingForObject(int objectDebugId, const QString &propertyName,
                                                   const QVariant &bindingExpression,
                                                   bool isLiteralValue,
                                                   QString source, int line)
 {
-    Q_D(QDeclarativeEngineDebug);
-
-    if (d->client->status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
+    if (status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("SET_BINDING") << objectDebugId << propertyName << bindingExpression << isLiteralValue << source << line;
-        d->client->sendMessage(message);
+        sendMessage(message);
         return true;
     } else {
         return false;
     }
 }
 
-bool QDeclarativeEngineDebug::resetBindingForObject(int objectDebugId, const QString &propertyName)
+bool QmlEngineDebugClient::resetBindingForObject(int objectDebugId, const QString &propertyName)
 {
-    Q_D(QDeclarativeEngineDebug);
-
-    if (d->client->status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
+    if (status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("RESET_BINDING") << objectDebugId << propertyName;
-        d->client->sendMessage(message);
+        sendMessage(message);
         return true;
     } else {
         return false;
     }
 }
 
-bool QDeclarativeEngineDebug::setMethodBody(int objectDebugId, const QString &methodName,
+bool QmlEngineDebugClient::setMethodBody(int objectDebugId, const QString &methodName,
                                             const QString &methodBody)
 {
-    Q_D(QDeclarativeEngineDebug);
-
-    if (d->client->status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
+    if (status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
         QByteArray message;
         QDataStream ds(&message, QIODevice::WriteOnly);
         ds << QByteArray("SET_METHOD_BODY") << objectDebugId << methodName << methodBody;
-        d->client->sendMessage(message);
+        sendMessage(message);
         return true;
     } else {
         return false;
@@ -723,7 +664,7 @@ QDeclarativeDebugWatch::QDeclarativeDebugWatch(QObject *parent)
 QDeclarativeDebugWatch::~QDeclarativeDebugWatch()
 {
     if (m_client && m_queryId != -1)
-        QDeclarativeEngineDebugPrivate::remove(m_client, this);
+        QmlEngineDebugClientPrivate::remove(m_client, this);
 }
 
 int QDeclarativeDebugWatch::queryId() const
@@ -802,7 +743,7 @@ QDeclarativeDebugEnginesQuery::QDeclarativeDebugEnginesQuery(QObject *parent)
 QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery()
 {
     if (m_client && m_queryId != -1)
-        QDeclarativeEngineDebugPrivate::remove(m_client, this);
+        QmlEngineDebugClientPrivate::remove(m_client, this);
 }
 
 QList<QDeclarativeDebugEngineReference> QDeclarativeDebugEnginesQuery::engines() const
@@ -818,7 +759,7 @@ QDeclarativeDebugRootContextQuery::QDeclarativeDebugRootContextQuery(QObject *pa
 QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery()
 {
     if (m_client && m_queryId != -1)
-        QDeclarativeEngineDebugPrivate::remove(m_client, this);
+        QmlEngineDebugClientPrivate::remove(m_client, this);
 }
 
 QDeclarativeDebugContextReference QDeclarativeDebugRootContextQuery::rootContext() const
@@ -834,7 +775,7 @@ QDeclarativeDebugObjectQuery::QDeclarativeDebugObjectQuery(QObject *parent)
 QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery()
 {
     if (m_client && m_queryId != -1)
-        QDeclarativeEngineDebugPrivate::remove(m_client, this);
+        QmlEngineDebugClientPrivate::remove(m_client, this);
 }
 
 QDeclarativeDebugObjectReference QDeclarativeDebugObjectQuery::object() const
@@ -850,7 +791,7 @@ QDeclarativeDebugExpressionQuery::QDeclarativeDebugExpressionQuery(QObject *pare
 QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery()
 {
     if (m_client && m_queryId != -1)
-        QDeclarativeEngineDebugPrivate::remove(m_client, this);
+        QmlEngineDebugClientPrivate::remove(m_client, this);
 }
 
 QVariant QDeclarativeDebugExpressionQuery::expression() const
diff --git a/src/libs/qmljsdebugclient/qdeclarativeenginedebug.h b/src/libs/qmljsdebugclient/qmlenginedebugclient.h
similarity index 86%
rename from src/libs/qmljsdebugclient/qdeclarativeenginedebug.h
rename to src/libs/qmljsdebugclient/qmlenginedebugclient.h
index 01d5ce1b7cb4fb6932659ce07750f89117d51d54..59ee2186fc04ab88f8635208e02defbe3b9b67bc 100644
--- a/src/libs/qmljsdebugclient/qdeclarativeenginedebug.h
+++ b/src/libs/qmljsdebugclient/qmlenginedebugclient.h
@@ -29,12 +29,11 @@
 **
 **************************************************************************/
 
-#ifndef QDECLARATIVEENGINEDEBUG_H
-#define QDECLARATIVEENGINEDEBUG_H
+#ifndef QMLENGINEDEBUGCLIENT_H
+#define QMLENGINEDEBUGCLIENT_H
 
 #include "qmljsdebugclient_global.h"
 #include "qdeclarativedebugclient.h"
-#include <qobject.h>
 #include <qurl.h>
 #include <qvariant.h>
 
@@ -53,16 +52,14 @@ class QDeclarativeDebugContextReference;
 class QDeclarativeDebugObjectReference;
 class QDeclarativeDebugFileReference;
 class QDeclarativeDebugEngineReference;
-class QDeclarativeEngineDebugPrivate;
+class QmlEngineDebugClientPrivate;
 
-class QMLJSDEBUGCLIENT_EXPORT QDeclarativeEngineDebug : public QObject
+class QMLJSDEBUGCLIENT_EXPORT QmlEngineDebugClient : public QDeclarativeDebugClient
 {
     Q_OBJECT
 public:
-    explicit QDeclarativeEngineDebug(QDeclarativeDebugConnection *, QObject * = 0);
-    ~QDeclarativeEngineDebug();
-
-    QDeclarativeDebugClient::Status status() const;
+    explicit QmlEngineDebugClient(QDeclarativeDebugConnection *);
+    ~QmlEngineDebugClient();
 
     QDeclarativeDebugPropertyWatch *addWatch(const QDeclarativeDebugPropertyReference &,
                                              QObject *parent = 0);
@@ -93,13 +90,18 @@ public:
     bool resetBindingForObject(int objectDebugId, const QString &propertyName);
     bool setMethodBody(int objectDebugId, const QString &methodName, const QString &methodBody);
 
+    QmlEngineDebugClientPrivate *priv() const { return d; }
 Q_SIGNALS:
     void newObjects();
-    void statusChanged(QDeclarativeDebugClient::Status status);
+    void newStatus(QDeclarativeDebugClient::Status status);
+
+protected:
+    virtual void statusChanged(Status status);
+    virtual void messageReceived(const QByteArray &);
 
 private:
-    Q_DECLARE_PRIVATE(QDeclarativeEngineDebug)
-    QScopedPointer<QDeclarativeEngineDebugPrivate> d_ptr;
+    friend class QmlEngineDebugClientPrivate;
+    QmlEngineDebugClientPrivate *d;
 };
 
 class QMLJSDEBUGCLIENT_EXPORT QDeclarativeDebugWatch : public QObject
@@ -124,12 +126,12 @@ Q_SIGNALS:
     void valueChanged(const QByteArray &name, const QVariant &value);
 
 private:
-    friend class QDeclarativeEngineDebug;
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClient;
+    friend class QmlEngineDebugClientPrivate;
     void setState(State);
     State m_state;
     int m_queryId;
-    QDeclarativeEngineDebug *m_client;
+    QmlEngineDebugClient *m_client;
     int m_objectDebugId;
 };
 
@@ -142,7 +144,7 @@ public:
     QString name() const;
 
 private:
-    friend class QDeclarativeEngineDebug;
+    friend class QmlEngineDebugClient;
     QString m_name;
 };
 
@@ -155,7 +157,7 @@ public:
     QString expression() const;
 
 private:
-    friend class QDeclarativeEngineDebug;
+    friend class QmlEngineDebugClient;
     QString m_expr;
     int m_debugId;
 };
@@ -176,8 +178,8 @@ protected:
     QDeclarativeDebugQuery(QObject *);
 
 private:
-    friend class QDeclarativeEngineDebug;
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClient;
+    friend class QmlEngineDebugClientPrivate;
     void setState(State);
     State m_state;
 };
@@ -197,7 +199,7 @@ public:
     void setColumnNumber(int);
 
 private:
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClientPrivate;
     QUrl m_url;
     int m_lineNumber;
     int m_columnNumber;
@@ -215,7 +217,7 @@ public:
     QString name() const;
 
 private:
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClientPrivate;
     int m_debugId;
     QString m_name;
 };
@@ -240,7 +242,7 @@ public:
     QList<QDeclarativeDebugObjectReference> children() const;
 
 private:
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClientPrivate;
     int m_debugId;
     QString m_class;
     QString m_idString;
@@ -265,7 +267,7 @@ public:
     QList<QDeclarativeDebugContextReference> contexts() const;
 
 private:
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClientPrivate;
     int m_debugId;
     QString m_name;
     QList<QDeclarativeDebugObjectReference> m_objects;
@@ -287,7 +289,7 @@ public:
     bool hasNotifySignal() const;
 
 private:
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClientPrivate;
     int m_objectDebugId;
     QString m_name;
     QVariant m_value;
@@ -304,10 +306,10 @@ public:
     virtual ~QDeclarativeDebugEnginesQuery();
     QList<QDeclarativeDebugEngineReference> engines() const;
 private:
-    friend class QDeclarativeEngineDebug;
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClient;
+    friend class QmlEngineDebugClientPrivate;
     QDeclarativeDebugEnginesQuery(QObject *);
-    QDeclarativeEngineDebug *m_client;
+    QmlEngineDebugClient *m_client;
     int m_queryId;
     QList<QDeclarativeDebugEngineReference> m_engines;
 };
@@ -319,10 +321,10 @@ public:
     virtual ~QDeclarativeDebugRootContextQuery();
     QDeclarativeDebugContextReference rootContext() const;
 private:
-    friend class QDeclarativeEngineDebug;
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClient;
+    friend class QmlEngineDebugClientPrivate;
     QDeclarativeDebugRootContextQuery(QObject *);
-    QDeclarativeEngineDebug *m_client;
+    QmlEngineDebugClient *m_client;
     int m_queryId;
     QDeclarativeDebugContextReference m_context;
 };
@@ -334,10 +336,10 @@ public:
     virtual ~QDeclarativeDebugObjectQuery();
     QDeclarativeDebugObjectReference object() const;
 private:
-    friend class QDeclarativeEngineDebug;
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClient;
+    friend class QmlEngineDebugClientPrivate;
     QDeclarativeDebugObjectQuery(QObject *);
-    QDeclarativeEngineDebug *m_client;
+    QmlEngineDebugClient *m_client;
     int m_queryId;
     QDeclarativeDebugObjectReference m_object;
 
@@ -351,10 +353,10 @@ public:
     QVariant expression() const;
     QVariant result() const;
 private:
-    friend class QDeclarativeEngineDebug;
-    friend class QDeclarativeEngineDebugPrivate;
+    friend class QmlEngineDebugClient;
+    friend class QmlEngineDebugClientPrivate;
     QDeclarativeDebugExpressionQuery(QObject *);
-    QDeclarativeEngineDebug *m_client;
+    QmlEngineDebugClient *m_client;
     int m_queryId;
     QVariant m_expr;
     QVariant m_result;
@@ -367,4 +369,4 @@ Q_DECLARE_METATYPE(QmlJsDebugClient::QDeclarativeDebugObjectReference)
 Q_DECLARE_METATYPE(QmlJsDebugClient::QDeclarativeDebugContextReference)
 Q_DECLARE_METATYPE(QmlJsDebugClient::QDeclarativeDebugPropertyReference)
 
-#endif // QDECLARATIVEENGINEDEBUG_H
+#endif // QMLENGINEDEBUGCLIENT_H
diff --git a/src/libs/qmljsdebugclient/qmljsdebugclient-lib.pri b/src/libs/qmljsdebugclient/qmljsdebugclient-lib.pri
index 69b0606451a1510fa77247982630f2c6c4e1a0be..e8dd76b804af540c1f201ce4026c1531c1fb7e68 100644
--- a/src/libs/qmljsdebugclient/qmljsdebugclient-lib.pri
+++ b/src/libs/qmljsdebugclient/qmljsdebugclient-lib.pri
@@ -9,7 +9,7 @@ INCLUDEPATH += $$PWD/..
 HEADERS += \
     $$PWD/qmlprofilereventlocation.h \
     $$PWD/qdeclarativedebugclient.h \
-    $$PWD/qdeclarativeenginedebug.h \
+    $$PWD/qmlenginedebugclient.h \
     $$PWD/qdeclarativeoutputparser.h \
     $$PWD/qmljsdebugclient_global.h \
     $$PWD/qmlprofilereventtypes.h \
@@ -21,7 +21,7 @@ HEADERS += \
 
 SOURCES += \
     $$PWD/qdeclarativedebugclient.cpp \
-    $$PWD/qdeclarativeenginedebug.cpp \
+    $$PWD/qmlenginedebugclient.cpp \
     $$PWD/qdeclarativeoutputparser.cpp \
     $$PWD/qmlprofilertraceclient.cpp \
     $$PWD/qpacketprotocol.cpp \
diff --git a/src/libs/qmljsdebugclient/qmljsdebugclient.qbs b/src/libs/qmljsdebugclient/qmljsdebugclient.qbs
index 8cb51a197f737b50413874e08e1fd2a4c2c445dc..3a946644eea00ccfc096a5cb922f2defc831d495 100644
--- a/src/libs/qmljsdebugclient/qmljsdebugclient.qbs
+++ b/src/libs/qmljsdebugclient/qmljsdebugclient.qbs
@@ -30,8 +30,8 @@ DynamicLibrary {
         "qv8profilerclient.cpp",
         "qv8profilerclient.h",
         "qdeclarativedebugclient.h",
-        "qdeclarativeenginedebug.cpp",
-        "qdeclarativeenginedebug.h",
+        "qmlenginedebugclient.cpp",
+        "qmlenginedebugclient.h",
         "qmlprofilereventtypes.h",
         "qmlprofilertraceclient.h",
         "qpacketprotocol.h",
diff --git a/src/plugins/debugger/qml/qmladapter.cpp b/src/plugins/debugger/qml/qmladapter.cpp
index 7ab699eb193ab5237c7b9b805b50ded10cc024bd..77e7964113ee8b1bc1bdefbde76bbae8b9e6b834 100644
--- a/src/plugins/debugger/qml/qmladapter.cpp
+++ b/src/plugins/debugger/qml/qmladapter.cpp
@@ -67,7 +67,7 @@ public:
 
     QWeakPointer<DebuggerEngine> m_engine;
     QmlDebuggerClient *m_qmlClient;
-    QmlJsDebugClient::QDeclarativeEngineDebug *m_engineDebugClient;
+    QmlJsDebugClient::QmlEngineDebugClient *m_engineDebugClient;
     QTimer m_connectionTimer;
     QDeclarativeDebugConnection *m_conn;
     QHash<QString, QmlDebuggerClient*> debugClients;
@@ -304,12 +304,12 @@ QHash<QString, Internal::QmlDebuggerClient*> QmlAdapter::debuggerClients()
     return d->debugClients;
 }
 
-QmlJsDebugClient::QDeclarativeEngineDebug *QmlAdapter::engineDebugClient() const
+QmlJsDebugClient::QmlEngineDebugClient *QmlAdapter::engineDebugClient() const
 {
     return d->m_engineDebugClient;
 }
 
-void QmlAdapter::setEngineDebugClient(QmlJsDebugClient::QDeclarativeEngineDebug *client)
+void QmlAdapter::setEngineDebugClient(QmlJsDebugClient::QmlEngineDebugClient *client)
 {
     d->m_engineDebugClient = client;
 }
diff --git a/src/plugins/debugger/qml/qmladapter.h b/src/plugins/debugger/qml/qmladapter.h
index 9abaf2d5aae5c873f5499cf7645fe80e1b9dca88..8851518836e5bf29069d55ddebbe00d77339f79d 100644
--- a/src/plugins/debugger/qml/qmladapter.h
+++ b/src/plugins/debugger/qml/qmladapter.h
@@ -40,7 +40,7 @@
 #include <QAbstractSocket>
 
 namespace QmlJsDebugClient {
-class QDeclarativeEngineDebug;
+class QmlEngineDebugClient;
 class QDeclarativeDebugConnection;
 class QDebugMessageClient;
 }
@@ -76,8 +76,8 @@ public:
     Internal::QmlDebuggerClient *activeDebuggerClient();
     QHash<QString, Internal::QmlDebuggerClient*> debuggerClients();
 
-    QmlJsDebugClient::QDeclarativeEngineDebug *engineDebugClient() const;
-    void setEngineDebugClient(QmlJsDebugClient::QDeclarativeEngineDebug *client);
+    QmlJsDebugClient::QmlEngineDebugClient *engineDebugClient() const;
+    void setEngineDebugClient(QmlJsDebugClient::QmlEngineDebugClient *client);
 
     QDebugMessageClient *messageClient() const;
 
diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index 1da0baf8ab00348e7134df9dd6841fd284fa8cfa..aae783138ec7e5839ed65ebf6124b5291195f0c8 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -1149,7 +1149,7 @@ bool QmlEngine::evaluateScriptExpression(const QString& expression)
                 //is sent to V8DebugService. In all other cases, the
                 //expression is evaluated by QDeclarativeEngine.
                 if (state() != InferiorStopOk) {
-                    QDeclarativeEngineDebug *engineDebug =
+                    QmlEngineDebugClient *engineDebug =
                             d->m_adapter.engineDebugClient();
 
                     int id = d->m_adapter.currentSelectedDebugId();
diff --git a/src/plugins/debugger/qml/qmlengine.h b/src/plugins/debugger/qml/qmlengine.h
index 48ebf238da5a44b1dadbf89a16aaee640f33c44e..5999e57c7380d713871e6075b1ed3ed421ee2439 100644
--- a/src/plugins/debugger/qml/qmlengine.h
+++ b/src/plugins/debugger/qml/qmlengine.h
@@ -34,7 +34,7 @@
 #define DEBUGGER_QMLENGINE_H
 
 #include "debuggerengine.h"
-#include <qmljsdebugclient/qdeclarativeenginedebug.h>
+#include <qmljsdebugclient/qmlenginedebugclient.h>
 #include <qmljsdebugclient/qdebugmessageclient.h>
 #include <utils/outputformat.h>
 #include <qmljs/qmljsdocument.h>
diff --git a/src/plugins/debugger/qml/qmljsprivateapi.h b/src/plugins/debugger/qml/qmljsprivateapi.h
index a8654ba9262dc724fd24b47ed1304af006214029..45ab37d39a910ef8f3d1a7d1a787e2c04148dee8 100644
--- a/src/plugins/debugger/qml/qmljsprivateapi.h
+++ b/src/plugins/debugger/qml/qmljsprivateapi.h
@@ -32,7 +32,7 @@
 #ifndef QMLJSPRIVATEAPI_H
 #define QMLJSPRIVATEAPI_H
 
-#include <qmljsdebugclient/qdeclarativeenginedebug.h>
+#include <qmljsdebugclient/qmlenginedebugclient.h>
 #include <qmljsdebugclient/qdeclarativedebugclient.h>
 
 using namespace QmlJsDebugClient;
diff --git a/src/plugins/qmljsinspector/qmljsclientproxy.cpp b/src/plugins/qmljsinspector/qmljsclientproxy.cpp
index 418de0119ffeedc7723db6449957c40e015eff0f..4838320d259df3b4f8a103c428482837d4e9ea53 100644
--- a/src/plugins/qmljsinspector/qmljsclientproxy.cpp
+++ b/src/plugins/qmljsinspector/qmljsclientproxy.cpp
@@ -71,7 +71,7 @@ ClientProxy::~ClientProxy()
 
 void ClientProxy::connectToServer()
 {
-    m_engineClient = new QDeclarativeEngineDebug(m_adapter.data()->connection(), this);
+    m_engineClient = new QmlEngineDebugClient(m_adapter.data()->connection());
 
     connect(m_engineClient, SIGNAL(newObjects()), this, SLOT(newObjects()));
     connect(m_engineClient, SIGNAL(statusChanged(QDeclarativeDebugClient::Status)),
@@ -127,7 +127,7 @@ void ClientProxy::clientStatusChanged(QDeclarativeDebugClient::Status status)
 void ClientProxy::engineClientStatusChanged(QDeclarativeDebugClient::Status status)
 {
     if (status == QDeclarativeDebugClient::Enabled) {
-        m_adapter.data()->setEngineDebugClient(qobject_cast<QDeclarativeEngineDebug *>(sender()));
+        m_adapter.data()->setEngineDebugClient(qobject_cast<QmlEngineDebugClient *>(sender()));
     }
 }
 
diff --git a/src/plugins/qmljsinspector/qmljsclientproxy.h b/src/plugins/qmljsinspector/qmljsclientproxy.h
index 2824e3cc2dac070cffa6a16533cbf0e57e0b4257..98c446abe6291aedc535c24165ac29c61a7e4c29 100644
--- a/src/plugins/qmljsinspector/qmljsclientproxy.h
+++ b/src/plugins/qmljsinspector/qmljsclientproxy.h
@@ -167,7 +167,7 @@ private:
     void buildDebugIdHashRecursive(const QDeclarativeDebugObjectReference &ref);
 
     QWeakPointer<Debugger::QmlAdapter> m_adapter;
-    QDeclarativeEngineDebug *m_engineClient;
+    QmlEngineDebugClient *m_engineClient;
     QmlJSInspectorClient *m_inspectorClient;
 
     QDeclarativeDebugEnginesQuery *m_engineQuery;
diff --git a/src/plugins/qmljsinspector/qmljsprivateapi.h b/src/plugins/qmljsinspector/qmljsprivateapi.h
index a8654ba9262dc724fd24b47ed1304af006214029..45ab37d39a910ef8f3d1a7d1a787e2c04148dee8 100644
--- a/src/plugins/qmljsinspector/qmljsprivateapi.h
+++ b/src/plugins/qmljsinspector/qmljsprivateapi.h
@@ -32,7 +32,7 @@
 #ifndef QMLJSPRIVATEAPI_H
 #define QMLJSPRIVATEAPI_H
 
-#include <qmljsdebugclient/qdeclarativeenginedebug.h>
+#include <qmljsdebugclient/qmlenginedebugclient.h>
 #include <qmljsdebugclient/qdeclarativedebugclient.h>
 
 using namespace QmlJsDebugClient;