refactoring, add FilesystemAwareTrait + add ErrorsAwareTrait