Bug 1101490 - Implement a new component for Rooms database management

Should we return an error instead? `return reject(new Error('BAD ROOM....'))`?