Adding a type parameter to Question.java + cleanup