I think some abstraction in the documentation here might be nice.