Another structural change. Hooray for more intelligent inheritance, printing, JS support, and now, no more base endpoint class