onAdd honoring tokenLimit

"onAdd" callback gets triggered regardless of whether the token limit is
reached or not. These changes fix this issue.