refactor handlers into individual class files and added momentjs support