Move async stuff to a separated class