Api principles (preliminary, very rough draft)

#toosoon :D