tested IoC and event handler, but not really working well