Alternatively, you could add a custom field to a pipeline (pipelines = leads for most people) which would track the campaign. It could be a text field or a dropdown list depending on how many campaigns you're running.
As for the task management, it's not quite the same, but you can add a checkbox list to the lead pipeline to track which tasks you've completed. We also have more task functionality coming at some point, but not in the near future unfortunately.
Thanks for the feedback on the pricing. Our reservation with charging more for each feature is that while it's very fair, it seems kind of complicated to some people if they have to pick and choose every single feature they want to pay for. Many of our users love how easy it is to understand the price. What we were considering was offering two products: CRM, and "everything else". So you decide whether you want all the extra stuff (invoice, project management, etc.) or if you just want the CRM, and there are just two prices (probably $10 and $25). I like that model, but it seems a lot like having pricing plans which is why I'm not 100% sold on it yet.