More random cleanups

There's a lot of random cleaning up in this one--see commit logs for details.

This shouldn't affect playd's functionality, but testing is encouraged.
done, but I'm not a huge fan of the amount of boilerplate it's introduced for very little gain.