Moves the API into its own package, updates the shell