moved event emitting and listening to component
Merge origin/master