Aren there some issues with only having one application-level classloader, like static fields?
Static fields, and static initialisers can cause some issues, and should be used very carefully. Of particular note is transfer of agent data from one system to another – static data is not serializable as it is technically part of the class, rather than the instance to be transferred, thus using static fields in anything other than LocalAgents is not recommended.