Updated to multiple classes for neatness!

Seperated 400 line Main class into seperate listeners.