Implemented generic delegate object.

Generic typing syntax interpreted form the tutorial:
http://docs.oracle.com/javase/tutorial/java/generics/types.html as
accessed on 10/19/2014.