Whenever I hear the words "Expose the Functionality" it makes my blood run cold.
I guess we can just about forgive the guys standing in front of the PowerPoints, they don't know any better, but if a developer ever uses those words just fire them, it will save you so much in the long term. Why?
Software development 101. First - define the requirements. If your requirement is to "Expose the Functionality" then that is the best outcome you are ever going to get out of this project. If the requirement is to provide a great platform for creating and executing software then you may get a lot more.