Improved some terminology in channel implementation.
Can no longer call Engine::execute() before engine is running (fixes #15)
RootNode allows engine to be set after construction, allowing Engine::run() to support being used multiple times.