use once eventemitters to curb memory leak