I've recently started thinking about embedding Cocoon
in another application.
One of the issues that I have is the CocoonComponentManager -
since I use another component manager in the application, I'd
like to just host the TreeProcessor in that manager.
The issue I have is that CocoonComponentManager exposes a number
of static methods that makes it imposible to replace. I.e.
you have components (TreeProcessor) that really do care about what
container they are in.
I can't subclass the CocoonComponentManager, since TreeProcessor
refers to the class by name.
But what I could do is this (and this is what I propose to do):
Move the static methods out from CocoonComponentManager and
put them in the Context.
The CocoonComponentManager could then expose those methods via
a custom InternalCocoonContext interface that extends the
Context interface.
This would remove all static methods, and I'd be able to host
a TreeProcessor in many other containers.
/LS