There are several ugly parts around DocumentMarkerController. - DocumentMarker::MarkerType and DocumentMarker::MarkerTypes is used in confusing way. - markers are stored inside a pair of vectors, which should be a vector of some struct or class. - DocumentMarker has very limited metadata. We want store subtype dependent metadata like suggestions and descriptions, etc. This meta-bug will track the problem above.