[#] adds new extensions api model.

[] cleans up extensions api and add extension test.

Change-Id: I4f0691b5dfd2302c3414b3c8d4b881b1624063e6

[#] adds new extensions api model.

[] cleans up extensions api and add extension test.

Change-Id: I4f0691b5dfd2302c3414b3c8d4b881b1624063e6

[#] refactors extensions api model and adds a new test.

Change-Id: Id6f8fb5bba677c94cb5ab7944f104206bf18e6a2