TLDR: Cleaned up the PR so it doesn't mention interface specifics (They were already defined in NAP-SHELL anyways) and runtime injects the interfaces into napplets. This was always the plan, but injection early on made integration and provenance difficult, so it was deferred. Benefits are: Smaller napplets, easier for napplet to detect integration issues (mismatch between required caps and provided caps) and more control for runtime development (malicious or incompatible apps even easier to detect)