[FEATURE] Outlet and Pipe concepts with API

# Note: requires rebase after #359 and #377

- it doesn't get much more WIP than this, folks.