Command Objects or Interfaces?