Implement GEvent Framework