remove check for valid id, to let storage check for that.
factored out the try and catch blocks
Make logic constructor use the singleton method
Added comments
comment out singleton constructor