Unit tests and bugfixes for DatabaseComponent. Merged code from various unique ID classes into a common superclass.