Features/node interface [WIP]

Best merge at the same time as #517.