Ported Posting model to use the repository pattern