JC: removed if self.wf_state.present? in model which is not defined in execution.
JC: added quite a few fields in model for workflow recording. beefed up workflow process. Added spec case for edit/new PO. Tested the whole workflow process. Spec passes.