Code clean, introduce abstract DatabaseLookupProvider