Read package.start as a last resort

Fixes #383

Fairly epic testing to get this working, but I believe it's all passing now!