Changed weird event blocking workaround to callbacks