Register Abstract class and its derived classes