reorganizing dispatch events class