Added abstractions to create a OAuth consumer API