Create an interface representing a data store and the methods to create/retrieve a product
Write the API for registering queries. We'll need this to properly support using map/reduce database and/or actualised views.
Add a table for registered queries
Start work on the representation of a queryable product
Make it possible to execute queries (as the product developer) against a database
Add the data store and the 'product admin' object