Created seperate classes for event callbacks