Cleanup

- Move things that should not be publicly accessible into 'internal' package.
- Re-enable testing of embedded.
- Refactor integration tests into 'integration' package.
- Also removes tests that were not asserting anything.