xal‘s primary concept is to develop to a session, i.e. have an unified API
to manage resources that can be applied relative to session objects. Then,
xal is a proof-of-concept implementation of this idea. So its internal
architecture may change (improve).