Index: src/GlobalJsObject.cpp
===================================================================
--- a/src/GlobalJsObject.cpp
+++ b/src/GlobalJsObject.cpp
@@ -63,23 +63,23 @@
     }
     std::string eventName = converted.front()->AsString();
     converted.erase(converted.begin());
     jsEngine->TriggerEvent(eventName, converted);
     return v8::Undefined();
   }
 }
 
-JsValuePtr GlobalJsObject::Setup(JsEngine& jsEngine, const AppInfo& appInfo,
-    const JsValuePtr& obj)
+JsValue& GlobalJsObject::Setup(JsEngine& jsEngine, const AppInfo& appInfo,
+    JsValue& obj)
 {
-  obj->SetProperty("setTimeout", jsEngine.NewCallback(::SetTimeoutCallback));
-  obj->SetProperty("_triggerEvent", jsEngine.NewCallback(::TriggerEventCallback));
-  obj->SetProperty("_fileSystem",
-      FileSystemJsObject::Setup(jsEngine, jsEngine.NewObject()));
-  obj->SetProperty("_webRequest",
-      WebRequestJsObject::Setup(jsEngine, jsEngine.NewObject()));
-  obj->SetProperty("console",
-      ConsoleJsObject::Setup(jsEngine, jsEngine.NewObject()));
-  obj->SetProperty("_appInfo",
-      AppInfoJsObject::Setup(appInfo, jsEngine.NewObject()));
+  obj.SetProperty("setTimeout", *jsEngine.NewCallback(::SetTimeoutCallback));
+  obj.SetProperty("_triggerEvent", *jsEngine.NewCallback(::TriggerEventCallback));
+  obj.SetProperty("_fileSystem",
+      FileSystemJsObject::Setup(jsEngine, *jsEngine.NewObject()));
+  obj.SetProperty("_webRequest",
+      WebRequestJsObject::Setup(jsEngine, *jsEngine.NewObject()));
+  obj.SetProperty("console",
+      ConsoleJsObject::Setup(jsEngine, *jsEngine.NewObject()));
+  obj.SetProperty("_appInfo",
+      AppInfoJsObject::Setup(appInfo, *jsEngine.NewObject()));
   return obj;
 }
