Use classes for backends

  Use an helper for backends again
  Instantiate backends with commands
  Remove specific implementations from matchers