Roughly based on the Amtraker node library so this and the models will eventually be spun off as one too