replaced Node.fromId() with injected factory

to load a node request a Node.Factory to be injected and use its methods to create node instances
also changed SystemJob to use a factory so that we can use Node.Factory there
SystemJob.all() should move its own class so we can use a factory to load it too, unfortunately SystemJob.Factory cannot return List<SystemJob>