public Services(FtpdSettings settings) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, NotBoundException, ConfigurationException, PermissionConfigurationException {
this.settings = settings;
configureMetadataHandler();
configureCustomClassLoader();
this.siteCommandHandler = new SiteCommandHandler(settings);
initializeCustomSiteCommands();
configureEventHandler();
configureUserbase();
siteCommandHandler.registerAction("chown", new Chown()); // note: only use this when we have disk (cuftpd) AND a cuftpd userbase. (create a different method body when we're doing a CubncServices object)
configureUserStatistics();