Added generics to the reference service so we dont have to cast every time it is used to retreive an instance