Fix backwards incompatible break.

As @apendleton pointed out in the pull request, setting `object_class`
explicitly in the constructor is a BC break that isn't really necessary
so this commit backs those changes out.
Move duplicate code to super class