Moved the generation of internal implementation of abstract classes to a separate pass.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>