Just playing with some API abstraction ideas