Switch to mysql2, sqlite3 has locking issues with concurrency
Track child jobs through receipts, with a macro for checking the status of everything
Use state_machine gem