sajty/ember — comment on commit bdf80d1bece1cc5512eebeb41a6e962b5c3b2557
File: src/services/input/Input.h line 44
By erikhjortsberg:

Put it in next to the Input class.

Think of it this way: there are basically three layers. The lowest is "framework". It shouldn't depend on much except the WF libs.
Then you have "services". These depend on more high level stuff, but are meant to be pretty abstract, as well on "framework". And then "components" which depend on the highest level stuff, as well as both "services" and "framework".

In this case, we're already in the "services" layer. We can't put it in "framework", because that layer shouldn't know anything about OIS. And we can't put it in "components", since "services" don't depend on that layer (and the Input class must know about the interface).

I should really make some better docs about how these layers are designed. :)