Split out Environment class
Add DBRequest and OpenDBRequest classes
Add primative Database class
Add skeleton ComponentRegistry and Utils classes
Add PromiseAdapters and skeleton Q PromiseAdapter
Add RequestAdapters and skeleton XHR RequestAdapter
Use Object.prototype when using Object.create
Leftovers after extractions