diff --git a/com.woltlab.wcf/cronjob.xml b/com.woltlab.wcf/cronjob.xml
index f60b2607fbb..e1c76816e11 100644
--- a/com.woltlab.wcf/cronjob.xml
+++ b/com.woltlab.wcf/cronjob.xml
@@ -35,6 +35,12 @@
Löscht verwaiste Dateianhänge
0 2 * * *
+
+ wcf\system\cronjob\FileCleanUpCronjob
+ Deletes orphaned files
+ Löscht verwaiste Dateien
+ 0 3 * * *
+
wcf\system\cronjob\BackgroundQueueCleanUpCronjob
Requeues stuck queue items
diff --git a/com.woltlab.wcf/objectType.xml b/com.woltlab.wcf/objectType.xml
index 0b0764c64c0..9472239439d 100644
--- a/com.woltlab.wcf/objectType.xml
+++ b/com.woltlab.wcf/objectType.xml
@@ -1739,6 +1739,11 @@
com.woltlab.wcf.rescueMode
com.woltlab.wcf.floodControl
+
+ com.woltlab.wcf.attachment
+ com.woltlab.wcf.file
+ wcf\system\file\processor\AttachmentFileProcessor
+
com.woltlab.wcf.page.controller
diff --git a/com.woltlab.wcf/objectTypeDefinition.xml b/com.woltlab.wcf/objectTypeDefinition.xml
index 645472e205b..775710634fd 100644
--- a/com.woltlab.wcf/objectTypeDefinition.xml
+++ b/com.woltlab.wcf/objectTypeDefinition.xml
@@ -225,5 +225,9 @@
com.woltlab.wcf.multifactor
wcf\system\user\multifactor\IMultifactorMethod
+
+ com.woltlab.wcf.file
+ wcf\system\file\processor\IFileProcessor
+
diff --git a/com.woltlab.wcf/templates/attachments.tpl b/com.woltlab.wcf/templates/attachments.tpl
index 4ddb0882fa5..f52a2c5db2d 100644
--- a/com.woltlab.wcf/templates/attachments.tpl
+++ b/com.woltlab.wcf/templates/attachments.tpl
@@ -50,10 +50,6 @@
{icon name='up-right-and-down-left-from-center'}
{#$attachment->width} × {#$attachment->height}
-
- {icon name='eye'}
- {#$attachment->downloads}
-
diff --git a/com.woltlab.wcf/templates/headIncludeJavaScript.tpl b/com.woltlab.wcf/templates/headIncludeJavaScript.tpl
index 1c1abe30e6a..0f387821953 100644
--- a/com.woltlab.wcf/templates/headIncludeJavaScript.tpl
+++ b/com.woltlab.wcf/templates/headIncludeJavaScript.tpl
@@ -127,7 +127,6 @@ window.addEventListener('pageshow', function(event) {
);
-{js application='wcf' file='WCF.Attachment' bundle='WCF.Combined' hasTiny=true}
{js application='wcf' file='WCF.ColorPicker' bundle='WCF.Combined' hasTiny=true}
{js application='wcf' file='WCF.ImageViewer' bundle='WCF.Combined' hasTiny=true}
{js application='wcf' file='WCF.Label' bundle='WCF.Combined' hasTiny=true}
diff --git a/com.woltlab.wcf/templates/shared_messageFormAttachments.tpl b/com.woltlab.wcf/templates/shared_messageFormAttachments.tpl
index 24ebf1ac058..74eeb668d4c 100644
--- a/com.woltlab.wcf/templates/shared_messageFormAttachments.tpl
+++ b/com.woltlab.wcf/templates/shared_messageFormAttachments.tpl
@@ -1,81 +1,29 @@
-