changes

- method before is now called before UseCases set with depends, meaning
that the execution order is:

  - before -> dependencies -> perform

- it's now possible to set accessors to attributes in context, for
example instead of doing context.parameter we can just write parameter,
this can be with class methods:

  - context_reader
  - context_writer
  - context_accessor

- you can skip the execution flow by invoking skip!, this will
interrupt the current UseCase and it's dependencies like stop!, but it
will continue with the following UseCases

- it’s possible to insert a usecase to chain using invoke!