1. Add interfaces implementation of place order feature.

2. Add logging infrastructure.
Merge remote-tracking branch 'origin/place-order' into place-order