A hideous and non-working approach because I don't understand asynchronicity yet.