Add comment model. Extract common funcitonality to base model.