Massive overhaul to allow for multinode scenarios, and predictable return types.