We were missing two characters at the end due to a mix-up when skipping over the first two characters ("#!")
This commit refactors Shell to a Core::Object and switches its looping to Core::EventLoop.