Use a single instances of Thumbnailer and RateLimiter shared between the three ImageProvider classes.
Also use the default D-Bus connection rather than creating three new ones. We are making our D-Bus calls from the main thread and performing them asynchronously, so should be safe to use a shared connection.