add tests, and hoist KazukiComponent<T> into the core interfaces (not as clean on the API side, but cleaner for Guice since it creates Proxy instances based on the core interfaces)