major refactoring! now we have a nice typeclass for lookup services (like IQDB) and metadata services (like gelbooru)