Initial check-in. API subject to future changes.