Swith to a proper events system without hardcoded interface methods