Convert to three-layer design...

Add/fix batching support, this should take some of the load
of the current recipe monster, beer.php.
