Added notion of a general Store abstraction and wired it up in ClusterStore.
diff --git a/core/store/src/main/java/org/onlab/onos/store/common/StoreService.java b/core/store/src/main/java/org/onlab/onos/store/common/StoreService.java
new file mode 100644
index 0000000..490183f
--- /dev/null
+++ b/core/store/src/main/java/org/onlab/onos/store/common/StoreService.java
@@ -0,0 +1,36 @@
+package org.onlab.onos.store.common;
+
+import com.hazelcast.core.HazelcastInstance;
+
+/**
+ * Bootstrap service to get a handle on a share Hazelcast instance.
+ */
+public interface StoreService {
+
+    /**
+     * Returns the shared Hazelcast instance for use as a distributed store
+     * backing.
+     *
+     * @return shared Hazelcast instance
+     */
+    HazelcastInstance getHazelcastInstance();
+
+    /**
+     * Serializes the specified object into bytes using one of the
+     * pre-registered serializers.
+     *
+     * @param obj object to be serialized
+     * @return serialized bytes
+     */
+    public byte[] serialize(final Object obj);
+
+    /**
+     * Deserializes the specified bytes into an object using one of the
+     * pre-registered serializers.
+     *
+     * @param bytes bytes to be deserialized
+     * @return deserialized object
+     */
+    public <T> T deserialize(final byte[] bytes);
+
+}
diff --git a/core/store/src/main/java/org/onlab/onos/store/common/package-info.java b/core/store/src/main/java/org/onlab/onos/store/common/package-info.java
new file mode 100644
index 0000000..cf19812
--- /dev/null
+++ b/core/store/src/main/java/org/onlab/onos/store/common/package-info.java
@@ -0,0 +1,5 @@
+/**
+ * Common abstractions and facilities for implementing distributed store
+ * using Hazelcast.
+ */
+package org.onlab.onos.store.common;