It's designed to be an SDK that you could use for things like this. Should be lighter-weight and simpler. Whoever picks this up, also look into fixing #96 along the way.