Add generate_fail_message
Add NES.Reservations
Make ASoundEngine more OO and have it use Reservations