[WIP] Build endpoints by subclassing instead of instantiating