Has anyone experimented with: - peripheral/register crate on bottom - singleton/owner crate in the middle - HAL for users on top ?