refactored the Consumer. fixes #15

So here's what I got so far.

As I said in #15, I needed to access the generated $directory (see in `Consumer/UploadComposerConsumer`) from all the steps, so I pass it to the steps `execute` method, but I'm not sure if it's the right thing to do.

What do you think?