Split DerpibooruService into separate services for sync, async and observable