We'll use this method to register event listeners on a Node instance as
suggested in the beta documentation...
TODO:
- Find a way to avoid needing to declare the called methods "public"
as registering the event listeners *inside* this methods does not give
us an object context.
Events:
1. "creating": Before creating a new Node we'll assign a default value
for the left and right indexes.
2. "saving": Before saving, we'll perform a check to see if we have to
move to another parent.
3. "saved": Move to the new parent after saving if needed and re-set
depth.
4. "deleting": Before delete we should prune all children and update
the left and right indexes for the remaining nodes.
5. (optional) "restoring": Before a soft-delete node restore operation,
shift its siblings.
6. (optional) "restore": After having restored a soft-deleted node,
restore all of its descendants.