Better use event api() as it is proven to be working
I think the way you are using is not recommended. Here says circular dependency is not recommended to avoid deadlocks: