Fixing the mocks to return true/false based on the argument to is_a? instead of just returning the class. The class was being evaluated as true and everything still worked, but just by chance. Also changes instance_of? calls back to is_a? so we are a bit more flexible with the actual types