Added generics to our handlers so taht we don't have the ugly casting