UPDATE: Added logger interface and a possible initialization sequence