Added when() and describe().
Added beforeEach() and afterEach().
Fixed name repetition.
Use SPCDSLFactory to avoid variable name conflict.

closes #22