Adding handler interfaces and minor refactoring.

Might revert back to non-interfaced handlers as this seems like fairly useless overhead unless Nyx gets a build step with pre-compilers.