I should probably flesh out self-documentation out more.