Rearrange BlinkM API to be more sensible