Add support for abstract classes
More tests for abstract classes