Move Manifest parsing into its own module