define logger interface
abstract logging functions out into interface and shared between sim and model
rename logger interface to log to read more naturally