Adding study model and services

Minor: Not sure this is the cleanest way to write this. Consider Collections.emptyMap() or ImmutableMap.of(), or even just new HashMap<String, String>(). The first two are immutable, and I prefer maps to be immutable by default.