post/put methods refactored out + interface to implement against data store.