Basic Store Implementation

Still early, this is a basic implementation, but I think we need to be better at sending smaller PR's, the mega long ones will just fatigue us as to reviews and lead to lower code quality over time.