There could be problems with using class' own public API in implementation code. Maybe have a private _addValue method and delegate to it?