no listener function pattern.