Ok, i'll put the HR setting in the config function. 
There is already an Accel read function, its how the accel values are read. I can just use that. I noticed that not many/none of the registers were read, and OR'ed with. I was assuming that was due to speed optimisations. I guess the register writes don't really need to be optimised as it usually happens during config and not during flight.