diff --git a/state/ephemeral.go b/state/ephemeral.go
index 0d3704074847b6e350796ce6783a66587b73e48a..dc04c387d2da9d6234e62a6471ef403f9c6ff978 100644
--- a/state/ephemeral.go
+++ b/state/ephemeral.go
@@ -20,7 +20,7 @@ func NewEphemeralStore() *Ephemeral {
 }
 
 
-func ( e *Ephemeral ) Add( i *Item ) error {
+func ( e *Ephemeral ) Add( i Item ) error {
     if e.store == nil {
         return errors.New( "ephemeral storage not available" )
     }
@@ -60,7 +60,7 @@ func ( e *Ephemeral ) Fetch( name string ) ( *Item, error ) {
     if !found {
         return nil, nil
     }
-    return item, nil
+    return &item, nil
 }
 
 
diff --git a/state/item.go b/state/item.go
index ccfea74f834450aaf5b10d6504ff94d9e52c25e1..dee218a6bc44862bb8ef022dafe2951213f3ec40 100644
--- a/state/item.go
+++ b/state/item.go
@@ -8,8 +8,8 @@ type Item struct {
 }
 
 
-func NewItem( name string, mimeType string, data []byte ) *Item {
-    return &Item{
+func NewItem( name string, mimeType string, data []byte ) Item {
+    return Item{
         name: name,
         mimeType: mimeType,
         data: data,
diff --git a/state/persistent.go b/state/persistent.go
index ae232644fcbe52593273b492bd75b42d765306c3..b005e428f9f5701e34836cc3c8899630e71786d8 100644
--- a/state/persistent.go
+++ b/state/persistent.go
@@ -44,7 +44,7 @@ func NewPersistentStore( c *configuration.Config ) *Persistent {
 }
 
 
-func ( e *Persistent ) Add( i *Item ) error {
+func ( e *Persistent ) Add( i Item ) error {
     ctx, cancel := context.WithTimeout( context.TODO(), e.timeout )
     defer cancel()
 
@@ -82,7 +82,8 @@ func ( e *Persistent ) Fetch( name string ) ( *Item, error ) {
 
     var item *Item = nil
     if len( value ) >= 1 {
-        item = NewItem( name, value[ "mime" ], []byte( value[ "data" ] ) )
+        i := NewItem( name, value[ "mime" ], []byte( value[ "data" ] ) )
+        item = &i
     }
     return item, nil
 }
diff --git a/state/store.go b/state/store.go
index c8ec606aacf99790fedf1b2efc038f68190cbcb4..ec39599ecedae71864ff75a11ac69467f49124a4 100644
--- a/state/store.go
+++ b/state/store.go
@@ -3,7 +3,7 @@ package state
 
 
 type Store interface {
-    Add( i *Item ) error
+    Add( i Item ) error
     Remove( name string ) error
     Fetch( name string ) ( *Item, error )
     Show() ( []string, error )