initial port from ljs core sources
removing lumberjack dependency
converted to arc and modernized
removing submodule dependency