encapsulated code repository source on separated service
implemented workaround for ui-codemirror bug #30
isolated keyboard logic on angular service