log: Re-think class design