Room refactoring, unit tests and comments.