Trying to implement async callback system