Plugin contexts inherit from the project's context.
When plugins are processed the writing of the cache files is
performed, plugin dependencies are processed and goals are
created which is a process where the body of the goal is stored
in a Werkz Action.
When a goal is attained the action for the goal is executed. In
the case of the GoalTag the Jelly body of the goal is invoked.
When the goal is invoked we are asking for a specific Jelly blob
from a specific plugin to be executed. So we must attach the
correct context and classloader to the goal before it's
action is executed. So N goals may be executed and the
context/classloader combination is flipped before each
goal is attained.