Added some documentation; deleted __init__ method for abstract class.