Normal gracelet views and tag files usually use groovy scripts and builders to construct a Facelets/JSF view. However, this does not mean it is the only
type of views that Gracelets can support. The Graclets system uses an API to create an application level GraceletHandlerFactory (gracelets.api.facelets.GraceletsHandlerFactory)
that is responsible for creating an appropriate GraceletHandler (gracelets.api.facelets.GraceletHandler) to handle a particular type of compiled class, generally
from a groovy source file (but it could be a compiled java class for instance). The handler factory is defined as follows:

As can be seen above, the factory can register GraceletHandlerInitializer's. The default implementation automatically registers the
org.ponder.gracelets.impl.DefaultScriptHandlerInitializer and inside the createHandler() method simply loops through the registered
initializers and if one can produce a handler for the given compiled class it will then allow that initializer to generate the GraceletHandler.