Document Management System model coding

I've taken a very communist approach to the design of my code, specifically the models. I'm trying to keep the functionality as dynamic as possible so it's easy to work with in the future. I'm unsure if I should keep the create function as static or not... or it should be moved to a separate class since this code may break the single responsibility principle? I will probably create a separate class and name it UserRepository which will represent a user account.

LewyBlog - Blog software created by Lewis Williams