Implement #10 - currently supports basic single infusion step mashing, but will support more custom mashes in the future