
If a team refines another team all roles of the refined team are
implicit available in the refining team. This technique is called
"Implicit Inheritance".

Example
=======

class T < Team
  class A
    def a
      myTeam::B.new
    end
  end
  class B
  end
end

class R < T
  class B
  end
end


Implicit Inheritance
====================

The team T defines 2 roles: A and B. Team R is a refinement of T.  Both roles
are implicit accessible in this team.  Explicitely: T defines role: T::A and
T::B. R refines T and has implicitely two roles: R::A and R::B. A class definition
in R with same name as a class in team T or any superclass is automatically a
refinement of this role.  Class R::B is a refinement of T::B.

The roles can be listed via Team.list_roles:

T.list_roles => [T::A, T::B]
R.list_roles => [R::A, R::B]


Teamscope Operator
==================

If a roleclass instantiates another team class, it should use the myTeam scope
operator. Example: myTeam::MyRole.new
myTeam points to the most specific role inside a team.
The method "a" inside class A will create a T::B if team T is active and R::B if
team R is active - automatically.




