remove treenode - it doesn't belong here
fix typo
add disposable interface
update Emitter

implement IDisposable, add a method to check if a signal is connected,
and return an IDisposable from the connect method.
update the build script