Currently the project and guild object contain some duplicated code, which increases the difficulties of code debugging and maintain.
An improvements here is using some wrap struct that can handle operations in two entities, then the duplicated code can be merged. This is just an idea and the implementation will be determined while developing.