API cleanup

Fixes #975, #974, #973, #972, #970, #911, #876, ~~#977~~.

:fire::fire::fire::fire::skull::skull::skull::skull::skull::skull::skull::skull::skull::skull::skull::skull::skull::skull::skull::fire::fire::fire::fire:
:fire::fire::fire::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::fire::fire::fire:
:fire::fire::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::fire::fire:
:fire::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::fire:
:fire::skull::fire::fire::fire::skull::skull::skull::skull::fire::fire::fire::fire::fire::skull::skull::skull::skull::fire::fire::fire::skull::fire:
:fire::skull::fire::fire::fire::skull::skull::skull::skull::fire::fire::fire::fire::fire::skull::skull::skull::skull::fire::fire::fire::skull::fire:
:fire::skull::fire::fire::fire::skull::skull::skull::fire::fire::fire::fire::fire::fire::fire::skull::skull::skull::fire::fire::fire::skull::fire:
:fire::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::fire:
:fire::skull::skull::skull::fire::fire::fire::fire::fire::fire::skull::skull::skull::fire::fire::fire::fire::fire::skull::skull::skull::fire::fire:
:fire::fire::fire::skull::skull::fire::fire::fire::fire::fire::skull::skull::skull::fire::fire::fire::fire::fire::skull::skull::fire::fire::fire:
:fire::fire::fire::skull::fire::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::fire::skull::fire::fire::fire:
:fire::fire::fire::skull::fire::skull::fire::skull::fire::skull::fire::skull::fire::skull::fire::skull::fire::skull::fire::skull::fire::fire::fire:
:fire::fire::fire::skull::fire::fire::skull::fire::skull::fire::skull::fire::skull::fire::skull::fire::skull::fire::fire::skull::fire::fire::fire:
:fire::fire::fire::fire::skull::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::skull::fire::fire::fire::fire:
:fire::fire::fire::fire::fire::skull::skull::fire::fire::fire::fire::fire::fire::fire::fire::fire::skull::skull::fire::fire::fire::fire::fire:
:fire::fire::fire::fire::fire::fire::fire::skull::skull::skull::skull::skull::skull::skull::skull::skull::fire::fire::fire::fire::fire::fire::fire: