Refactor models to use generic Post model