Move common methods in to base class.
Replace "predict" with "classify"
Move Observation and add() into base class. Make base methods virtual fixing non-override issue.