NativeProgram and NativeService

Yea, so it turns out I am a contributor on this, so I didn't have to fork. Let's merge it in :)