diff --git a/ethereal/assets/ext/ethereum.js b/ethereal/assets/ext/ethereum.js
index 5891fb9f95fe9039fe0b14b883a15b28ebb64e98..03b25179bd0f6e514138016b124d754bec640845 100644
--- a/ethereal/assets/ext/ethereum.js
+++ b/ethereal/assets/ext/ethereum.js
@@ -1,6 +1,8 @@
 // Main Ethereum library
 window.eth = {
 	prototype: Object(),
+	_callbacks: {},
+	_onCallbacks: {},
 
 	mutan: function(code) {
 	},
@@ -103,8 +105,8 @@ window.eth = {
 		postData({call: "getStorage", args: [address, storageAddress]}, cb);
 	},
 
-	getStateKeyVals: function(address, cb){
-		postData({call: "getStateKeyVals", args: [address]}, cb);
+	getEachStorageAt: function(address, cb){
+		postData({call: "getEachStorage", args: [address]}, cb);
 	},
 
 	getKey: function(cb) {
@@ -221,17 +223,15 @@ window.eth = {
 	},
 }
 
-window.eth._callbacks = {}
-window.eth._onCallbacks = {}
 
 var Filter = function(options) {
 	this.options = options;
 };
-
 Filter.prototype.changed = function(callback) {
+	// Register the watched:<number>. Qml will call the appropriate event if anything
+	// interesting happens in the land of Go.
 	eth.on("watched:"+this.number, callback)
 }
-
 Filter.prototype.getMessages = function(cb) {
 	return eth.getMessages(this.options, cb)
 }
diff --git a/ethereal/assets/ext/test.html b/ethereal/assets/ext/test.html
index b605e8dbd74f828e67ffbf77626864ca2f11d3ef..0d6b710fa14c74af9cad76407677741d98b64825 100644
--- a/ethereal/assets/ext/test.html
+++ b/ethereal/assets/ext/test.html
@@ -22,6 +22,9 @@ function test() {
 			console.log("getMessages", messages)
 			});
 
+	eth.getEachStorageAt("9ef0f0d81e040012600b0c1abdef7c48f720f88a", function(a, b) {
+			console.log(a,b)
+	})
 }
 </script>
 
diff --git a/ethereal/assets/qml/webapp.qml b/ethereal/assets/qml/webapp.qml
index b0f50c8f95ec6447f2cba9fcd3779d5d21c1015f..5faf50e91c3ecf2be13486ee2274431ea946c1a3 100644
--- a/ethereal/assets/qml/webapp.qml
+++ b/ethereal/assets/qml/webapp.qml
@@ -193,7 +193,7 @@ ApplicationWindow {
 
 						break
 
-						case "getStateKeyVals":
+						case "getEachStorage":
 						require(1);
 						var stateObject = eth.getStateObject(data.args[0]).stateKeyVal(true)
 						postData(data._seed,stateObject)
diff --git a/ethereal/ext_app.go b/ethereal/ext_app.go
index 627f9e9caca203c04e984bb002005f7fefa211f9..37e9676ffd9d7d16d3f967f5e334124304d6b21c 100644
--- a/ethereal/ext_app.go
+++ b/ethereal/ext_app.go
@@ -44,7 +44,7 @@ type ExtApplication struct {
 
 func NewExtApplication(container AppContainer, lib *UiLib) *ExtApplication {
 	app := &ExtApplication{
-		ethpub.NewPEthereum(lib.eth),
+		ethpub.New(lib.eth),
 		lib.eth,
 		make(chan ethreact.Event, 100),
 		make(chan ethreact.Event, 100),
diff --git a/ethereal/gui.go b/ethereal/gui.go
index 276c1a348bb46d1713891c96b83abd01a9e8cdae..c0584936d1febc826744c3975c8425125a695720 100644
--- a/ethereal/gui.go
+++ b/ethereal/gui.go
@@ -57,7 +57,7 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, clientIden
 		panic(err)
 	}
 
-	pub := ethpub.NewPEthereum(ethereum)
+	pub := ethpub.New(ethereum)
 
 	return &Gui{eth: ethereum, txDb: db, pub: pub, logLevel: ethlog.LogLevel(logLevel), Session: session, open: false, clientIdentity: clientIdentity, config: config}
 }
diff --git a/javascript/javascript_runtime.go b/javascript/javascript_runtime.go
index 158fc93cf4bac185ce9f15eca01df6abdd9cf749..d384c504842dc703409df8aa64125895e50c6f39 100644
--- a/javascript/javascript_runtime.go
+++ b/javascript/javascript_runtime.go
@@ -50,7 +50,7 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE {
 	re := &JSRE{
 		ethereum,
 		otto.New(),
-		ethpub.NewPEthereum(ethereum),
+		ethpub.New(ethereum),
 		make(chan ethreact.Event, 10),
 		make(chan ethreact.Event, 10),
 		make(chan bool),
diff --git a/utils/cmd.go b/utils/cmd.go
index 0eeb1049e1aa29d6813193ccea7c1e30bad9f4e5..d34348ad86c06b71304c2b5f7ae8cd68db334168 100644
--- a/utils/cmd.go
+++ b/utils/cmd.go
@@ -1,8 +1,17 @@
 package utils
 
 import (
-	"bitbucket.org/kardianos/osext"
 	"fmt"
+	"io"
+	"log"
+	"os"
+	"os/signal"
+	"path"
+	"path/filepath"
+	"runtime"
+	"time"
+
+	"bitbucket.org/kardianos/osext"
 	"github.com/ethereum/eth-go"
 	"github.com/ethereum/eth-go/ethcrypto"
 	"github.com/ethereum/eth-go/ethdb"
@@ -12,14 +21,6 @@ import (
 	"github.com/ethereum/eth-go/ethrpc"
 	"github.com/ethereum/eth-go/ethutil"
 	"github.com/ethereum/eth-go/ethwire"
-	"io"
-	"log"
-	"os"
-	"os/signal"
-	"path"
-	"path/filepath"
-	"runtime"
-	"time"
 )
 
 var logger = ethlog.NewLogger("CLI")
@@ -227,7 +228,7 @@ func KeyTasks(keyManager *ethcrypto.KeyManager, KeyRing string, GenAddr bool, Se
 
 func StartRpc(ethereum *eth.Ethereum, RpcPort int) {
 	var err error
-	ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum), RpcPort)
+	ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.New(ethereum), RpcPort)
 	if err != nil {
 		logger.Errorf("Could not start RPC interface (port %v): %v", RpcPort, err)
 	} else {