Introduce Class

Make our inheritance model more consistent. This is mostly copy and
paste + making sure that child classes call parent's constructor.

Change-Id: Ifd38f20ab08cbb311adfef5c53e6707cf1789410
Merge "Introduce Class"