changeset 636:152d20dc0e74

Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
author David Demelier <markand@malikania.fr>
date Thu, 15 Mar 2018 12:56:26 +0100
parents b452f5ce799c
children 7632483ca971
files irccd-test/main.cpp libirccd-js/irccd/js/js_plugin.cpp libirccd-js/irccd/js/js_plugin.hpp libirccd/irccd/daemon/dynlib_plugin.cpp libirccd/irccd/daemon/dynlib_plugin.hpp libirccd/irccd/daemon/plugin.hpp libirccd/irccd/daemon/service/plugin_service.cpp libirccd/irccd/daemon/service/server_service.cpp tests/src/libirccd-js/js-plugin/main.cpp tests/src/libirccd-js/jsapi-timer/main.cpp tests/src/libirccd/command-plugin-load/main.cpp tests/src/libirccd/command-plugin-reload/main.cpp tests/src/libirccd/command-plugin-unload/main.cpp tests/src/libirccd/dynlib-plugin/main.cpp tests/src/libirccd/dynlib-plugin/test_plugin.cpp tests/src/plugins/ask/main.cpp tests/src/plugins/auth/main.cpp tests/src/plugins/hangman/main.cpp tests/src/plugins/history/main.cpp tests/src/plugins/joke/main.cpp tests/src/plugins/logger/main.cpp tests/src/plugins/plugin/main.cpp tests/src/plugins/tictactoe/main.cpp
diffstat 23 files changed, 369 insertions(+), 369 deletions(-) [+]
line wrap: on
line diff
--- a/irccd-test/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/irccd-test/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -95,7 +95,7 @@
 {
     auto args = su::split(data, " ", 4);
 
-    plugin->on_command(*daemon, {
+    plugin->handle_command(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -110,7 +110,7 @@
 {
     auto args = su::split(data, " ");
 
-    plugin->on_connect(*daemon, {get_server(get_arg(args, 0))});
+    plugin->handle_connect(*daemon, {get_server(get_arg(args, 0))});
 }
 
 /*
@@ -120,7 +120,7 @@
 {
     auto args = su::split(data, " ");
 
-    plugin->on_invite(*daemon, {
+    plugin->handle_invite(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -135,7 +135,7 @@
 {
     auto args = su::split(data, " ");
 
-    plugin->on_join(*daemon, {
+    plugin->handle_join(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2)
@@ -149,7 +149,7 @@
 {
     auto args = su::split(data, " ", 5);
 
-    plugin->on_kick(*daemon, {
+    plugin->handle_kick(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -163,7 +163,7 @@
  */
 void on_load(const std::string&)
 {
-    plugin->on_load(*daemon);
+    plugin->handle_load(*daemon);
 }
 
 /*
@@ -173,7 +173,7 @@
 {
     auto args = su::split(data, " ", 4);
 
-    plugin->on_me(*daemon, {
+    plugin->handle_me(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -188,7 +188,7 @@
 {
     auto args = su::split(data, " ", 4);
 
-    plugin->on_message(*daemon, {
+    plugin->handle_message(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -203,7 +203,7 @@
 {
     auto args = su::split(data, " ", 7);
 
-    plugin->on_mode(*daemon, {
+    plugin->handle_mode(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -229,7 +229,7 @@
     if (args.size() >= 3U)
         ev.names.insert(ev.names.begin(), args.begin() + 2, args.end());
 
-    plugin->on_names(*daemon, ev);
+    plugin->handle_names(*daemon, ev);
 }
 
 /*
@@ -239,7 +239,7 @@
 {
     auto args = su::split(data, " ");
 
-    plugin->on_nick(*daemon, {
+    plugin->handle_nick(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2)
@@ -253,7 +253,7 @@
 {
     auto args = su::split(data, " ", 4);
 
-    plugin->on_notice(*daemon, {
+    plugin->handle_notice(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -268,7 +268,7 @@
 {
     auto args = su::split(data, " ", 4);
 
-    plugin->on_part(*daemon, {
+    plugin->handle_part(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -281,7 +281,7 @@
  */
 void on_reload(const std::string&)
 {
-    plugin->on_reload(*daemon);
+    plugin->handle_reload(*daemon);
 }
 
 /*
@@ -291,7 +291,7 @@
 {
     auto args = su::split(data, " ", 4);
 
-    plugin->on_topic(*daemon, {
+    plugin->handle_topic(*daemon, {
         get_server(get_arg(args, 0)),
         get_arg(args, 1),
         get_arg(args, 2),
@@ -304,7 +304,7 @@
  */
 void on_unload(const std::string&)
 {
-    plugin->on_unload(*daemon);
+    plugin->handle_unload(*daemon);
 }
 
 /*
@@ -325,7 +325,7 @@
     if (args.size() >= 5)
         ev.whois.channels.insert(ev.whois.channels.begin(), args.begin() + 5, args.end());
 
-    plugin->on_whois(*daemon, ev);
+    plugin->handle_whois(*daemon, ev);
 }
 
 /*
--- a/libirccd-js/irccd/js/js_plugin.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/libirccd-js/irccd/js/js_plugin.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -172,93 +172,93 @@
     duk_pop(context_);
 }
 
-void js_plugin::on_command(irccd&, const message_event& event)
+void js_plugin::handle_command(irccd&, const message_event& event)
 {
     call("onCommand", event.server, event.origin, event.channel, event.message);
 }
 
-void js_plugin::on_connect(irccd&, const connect_event& event)
+void js_plugin::handle_connect(irccd&, const connect_event& event)
 {
     call("onConnect", event.server);
 }
 
-void js_plugin::on_disconnect(irccd&, const disconnect_event& event)
+void js_plugin::handle_disconnect(irccd&, const disconnect_event& event)
 {
     call("onDisconnect", event.server);
 }
 
-void js_plugin::on_invite(irccd&, const invite_event& event)
+void js_plugin::handle_invite(irccd&, const invite_event& event)
 {
     call("onInvite", event.server, event.origin, event.channel);
 }
 
-void js_plugin::on_join(irccd&, const join_event& event)
+void js_plugin::handle_join(irccd&, const join_event& event)
 {
     call("onJoin", event.server, event.origin, event.channel);
 }
 
-void js_plugin::on_kick(irccd&, const kick_event& event)
+void js_plugin::handle_kick(irccd&, const kick_event& event)
 {
     call("onKick", event.server, event.origin, event.channel, event.target, event.reason);
 }
 
-void js_plugin::on_load(irccd&)
+void js_plugin::handle_load(irccd&)
 {
     call("onLoad");
 }
 
-void js_plugin::on_message(irccd&, const message_event& event)
+void js_plugin::handle_message(irccd&, const message_event& event)
 {
     call("onMessage", event.server, event.origin, event.channel, event.message);
 }
 
-void js_plugin::on_me(irccd&, const me_event& event)
+void js_plugin::handle_me(irccd&, const me_event& event)
 {
     call("onMe", event.server, event.origin, event.channel, event.message);
 }
 
-void js_plugin::on_mode(irccd&, const mode_event& event)
+void js_plugin::handle_mode(irccd&, const mode_event& event)
 {
     call("onMode", event.server, event.origin, event.channel, event.mode,
         event.limit, event.user, event.mask);
 }
 
-void js_plugin::on_names(irccd&, const names_event& event)
+void js_plugin::handle_names(irccd&, const names_event& event)
 {
     call("onNames", event.server, event.channel, event.names);
 }
 
-void js_plugin::on_nick(irccd&, const nick_event& event)
+void js_plugin::handle_nick(irccd&, const nick_event& event)
 {
     call("onNick", event.server, event.origin, event.nickname);
 }
 
-void js_plugin::on_notice(irccd&, const notice_event& event)
+void js_plugin::handle_notice(irccd&, const notice_event& event)
 {
     call("onNotice", event.server, event.origin, event.channel, event.message);
 }
 
-void js_plugin::on_part(irccd&, const part_event& event)
+void js_plugin::handle_part(irccd&, const part_event& event)
 {
     call("onPart", event.server, event.origin, event.channel, event.reason);
 }
 
-void js_plugin::on_reload(irccd&)
+void js_plugin::handle_reload(irccd&)
 {
     call("onReload");
 }
 
-void js_plugin::on_topic(irccd&, const topic_event& event)
+void js_plugin::handle_topic(irccd&, const topic_event& event)
 {
     call("onTopic", event.server, event.origin, event.channel, event.topic);
 }
 
-void js_plugin::on_unload(irccd&)
+void js_plugin::handle_unload(irccd&)
 {
     call("onUnload");
 }
 
-void js_plugin::on_whois(irccd&, const whois_event& event)
+void js_plugin::handle_whois(irccd&, const whois_event& event)
 {
     call("onWhois", event.server, event.whois);
 }
--- a/libirccd-js/irccd/js/js_plugin.hpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/libirccd-js/irccd/js/js_plugin.hpp	Thu Mar 15 12:56:26 2018 +0100
@@ -147,94 +147,94 @@
     }
 
     /**
-     * \copydoc plugin::on_command
+     * \copydoc plugin::handle_command
      */
-    void on_command(irccd& irccd, const message_event& event) override;
+    void handle_command(irccd& irccd, const message_event& event) override;
 
     /**
-     * \copydoc plugin::on_connect
+     * \copydoc plugin::handle_connect
      */
-    void on_connect(irccd& irccd, const connect_event& event) override;
+    void handle_connect(irccd& irccd, const connect_event& event) override;
 
     /**
-     * \copydoc plugin::on_disconnect
+     * \copydoc plugin::handle_disconnect
      */
-    void on_disconnect(irccd& irccd, const disconnect_event& event) override;
+    void handle_disconnect(irccd& irccd, const disconnect_event& event) override;
 
     /**
-     * \copydoc plugin::on_invite
+     * \copydoc plugin::handle_invite
      */
-    void on_invite(irccd& irccd, const invite_event& event) override;
+    void handle_invite(irccd& irccd, const invite_event& event) override;
 
     /**
-     * \copydoc plugin::on_join
+     * \copydoc plugin::handle_join
      */
-    void on_join(irccd& irccd, const join_event& event) override;
+    void handle_join(irccd& irccd, const join_event& event) override;
 
     /**
-     * \copydoc plugin::on_kick
+     * \copydoc plugin::handle_kick
      */
-    void on_kick(irccd& irccd, const kick_event& event) override;
+    void handle_kick(irccd& irccd, const kick_event& event) override;
 
     /**
-     * \copydoc plugin::on_load
+     * \copydoc plugin::handle_load
      */
-    void on_load(irccd& irccd) override;
+    void handle_load(irccd& irccd) override;
 
     /**
-     * \copydoc plugin::on_message
+     * \copydoc plugin::handle_message
      */
-    void on_message(irccd& irccd, const message_event& event) override;
+    void handle_message(irccd& irccd, const message_event& event) override;
 
     /**
-     * \copydoc plugin::on_me
+     * \copydoc plugin::handle_me
      */
-    void on_me(irccd& irccd, const me_event& event) override;
+    void handle_me(irccd& irccd, const me_event& event) override;
 
     /**
-     * \copydoc plugin::on_mode
+     * \copydoc plugin::handle_mode
      */
-    void on_mode(irccd& irccd, const mode_event& event) override;
+    void handle_mode(irccd& irccd, const mode_event& event) override;
 
     /**
-     * \copydoc plugin::on_names
+     * \copydoc plugin::handle_names
      */
-    void on_names(irccd& irccd, const names_event& event) override;
+    void handle_names(irccd& irccd, const names_event& event) override;
 
     /**
-     * \copydoc plugin::on_nick
+     * \copydoc plugin::handle_nick
      */
-    void on_nick(irccd& irccd, const nick_event& event) override;
+    void handle_nick(irccd& irccd, const nick_event& event) override;
 
     /**
-     * \copydoc plugin::on_notice
+     * \copydoc plugin::handle_notice
      */
-    void on_notice(irccd& irccd, const notice_event& event) override;
+    void handle_notice(irccd& irccd, const notice_event& event) override;
 
     /**
-     * \copydoc plugin::on_part
+     * \copydoc plugin::handle_part
      */
-    void on_part(irccd& irccd, const part_event& event) override;
+    void handle_part(irccd& irccd, const part_event& event) override;
 
     /**
-     * \copydoc plugin::on_reload
+     * \copydoc plugin::handle_reload
      */
-    void on_reload(irccd& irccd) override;
+    void handle_reload(irccd& irccd) override;
 
     /**
-     * \copydoc plugin::on_topic
+     * \copydoc plugin::handle_topic
      */
-    void on_topic(irccd& irccd, const topic_event& event) override;
+    void handle_topic(irccd& irccd, const topic_event& event) override;
 
     /**
-     * \copydoc plugin::on_unload
+     * \copydoc plugin::handle_unload
      */
-    void on_unload(irccd& irccd) override;
+    void handle_unload(irccd& irccd) override;
 
     /**
-     * \copydoc plugin::on_whois
+     * \copydoc plugin::handle_whois
      */
-    void on_whois(irccd& irccd, const whois_event& event) override;
+    void handle_whois(irccd& irccd, const whois_event& event) override;
 };
 
 /**
--- a/libirccd/irccd/daemon/dynlib_plugin.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/libirccd/irccd/daemon/dynlib_plugin.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -66,94 +66,94 @@
         throw std::runtime_error("plugin returned null");
 }
 
-void dynlib_plugin::on_command(irccd& irccd, const message_event& ev)
+void dynlib_plugin::handle_command(irccd& irccd, const message_event& ev)
 {
-    plugin_->on_command(irccd, ev);
+    plugin_->handle_command(irccd, ev);
 }
 
-void dynlib_plugin::on_connect(irccd& irccd, const connect_event& ev)
+void dynlib_plugin::handle_connect(irccd& irccd, const connect_event& ev)
 {
-    plugin_->on_connect(irccd, ev);
+    plugin_->handle_connect(irccd, ev);
 }
 
-void dynlib_plugin::on_disconnect(irccd& irccd, const disconnect_event& ev)
+void dynlib_plugin::handle_disconnect(irccd& irccd, const disconnect_event& ev)
 {
-    plugin_->on_disconnect(irccd, ev);
+    plugin_->handle_disconnect(irccd, ev);
 }
 
-void dynlib_plugin::on_invite(irccd& irccd, const invite_event& ev)
+void dynlib_plugin::handle_invite(irccd& irccd, const invite_event& ev)
 {
-    plugin_->on_invite(irccd, ev);
+    plugin_->handle_invite(irccd, ev);
 }
 
-void dynlib_plugin::on_join(irccd& irccd, const join_event& ev)
+void dynlib_plugin::handle_join(irccd& irccd, const join_event& ev)
 {
-    plugin_->on_join(irccd, ev);
+    plugin_->handle_join(irccd, ev);
 }
 
-void dynlib_plugin::on_kick(irccd& irccd, const kick_event& ev)
+void dynlib_plugin::handle_kick(irccd& irccd, const kick_event& ev)
 {
-    plugin_->on_kick(irccd, ev);
+    plugin_->handle_kick(irccd, ev);
 }
 
-void dynlib_plugin::on_load(irccd& irccd)
+void dynlib_plugin::handle_load(irccd& irccd)
 {
-    plugin_->on_load(irccd);
+    plugin_->handle_load(irccd);
 }
 
-void dynlib_plugin::on_message(irccd& irccd, const message_event& ev)
+void dynlib_plugin::handle_message(irccd& irccd, const message_event& ev)
 {
-    plugin_->on_message(irccd, ev);
+    plugin_->handle_message(irccd, ev);
 }
 
-void dynlib_plugin::on_me(irccd& irccd, const me_event& ev)
+void dynlib_plugin::handle_me(irccd& irccd, const me_event& ev)
 {
-    plugin_->on_me(irccd, ev);
+    plugin_->handle_me(irccd, ev);
 }
 
-void dynlib_plugin::on_mode(irccd& irccd, const mode_event& ev)
+void dynlib_plugin::handle_mode(irccd& irccd, const mode_event& ev)
 {
-    plugin_->on_mode(irccd, ev);
+    plugin_->handle_mode(irccd, ev);
 }
 
-void dynlib_plugin::on_names(irccd& irccd, const names_event& ev)
+void dynlib_plugin::handle_names(irccd& irccd, const names_event& ev)
 {
-    plugin_->on_names(irccd, ev);
+    plugin_->handle_names(irccd, ev);
 }
 
-void dynlib_plugin::on_nick(irccd& irccd, const nick_event& ev)
+void dynlib_plugin::handle_nick(irccd& irccd, const nick_event& ev)
 {
-    plugin_->on_nick(irccd, ev);
+    plugin_->handle_nick(irccd, ev);
 }
 
-void dynlib_plugin::on_notice(irccd& irccd, const notice_event& ev)
+void dynlib_plugin::handle_notice(irccd& irccd, const notice_event& ev)
 {
-    plugin_->on_notice(irccd, ev);
+    plugin_->handle_notice(irccd, ev);
 }
 
-void dynlib_plugin::on_part(irccd& irccd, const part_event& ev)
+void dynlib_plugin::handle_part(irccd& irccd, const part_event& ev)
 {
-    plugin_->on_part(irccd, ev);
+    plugin_->handle_part(irccd, ev);
 }
 
-void dynlib_plugin::on_reload(irccd& irccd)
+void dynlib_plugin::handle_reload(irccd& irccd)
 {
-    plugin_->on_reload(irccd);
+    plugin_->handle_reload(irccd);
 }
 
-void dynlib_plugin::on_topic(irccd& irccd, const topic_event& ev)
+void dynlib_plugin::handle_topic(irccd& irccd, const topic_event& ev)
 {
-    plugin_->on_topic(irccd, ev);
+    plugin_->handle_topic(irccd, ev);
 }
 
-void dynlib_plugin::on_unload(irccd& irccd)
+void dynlib_plugin::handle_unload(irccd& irccd)
 {
-    plugin_->on_unload(irccd);
+    plugin_->handle_unload(irccd);
 }
 
-void dynlib_plugin::on_whois(irccd& irccd, const whois_event& ev)
+void dynlib_plugin::handle_whois(irccd& irccd, const whois_event& ev)
 {
-    plugin_->on_whois(irccd, ev);
+    plugin_->handle_whois(irccd, ev);
 }
 
 dynlib_plugin_loader::dynlib_plugin_loader(std::vector<std::string> directories) noexcept
--- a/libirccd/irccd/daemon/dynlib_plugin.hpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/libirccd/irccd/daemon/dynlib_plugin.hpp	Thu Mar 15 12:56:26 2018 +0100
@@ -50,94 +50,94 @@
     dynlib_plugin(std::string name, std::string path);
 
     /**
-     * \copydoc plugin::on_command
+     * \copydoc plugin::handle_command
      */
-    void on_command(irccd& irccd, const message_event& event) override;
+    void handle_command(irccd& irccd, const message_event& event) override;
 
     /**
-     * \copydoc plugin::on_connect
+     * \copydoc plugin::handle_connect
      */
-    void on_connect(irccd& irccd, const connect_event& event) override;
+    void handle_connect(irccd& irccd, const connect_event& event) override;
 
     /**
-     * \copydoc plugin::on_disconnect
+     * \copydoc plugin::handle_disconnect
      */
-    void on_disconnect(irccd& irccd, const disconnect_event& event) override;
+    void handle_disconnect(irccd& irccd, const disconnect_event& event) override;
 
     /**
-     * \copydoc plugin::on_invite
+     * \copydoc plugin::handle_invite
      */
-    void on_invite(irccd& irccd, const invite_event& event) override;
+    void handle_invite(irccd& irccd, const invite_event& event) override;
 
     /**
-     * \copydoc plugin::on_join
+     * \copydoc plugin::handle_join
      */
-    void on_join(irccd& irccd, const join_event& event) override;
+    void handle_join(irccd& irccd, const join_event& event) override;
 
     /**
-     * \copydoc plugin::on_kick
+     * \copydoc plugin::handle_kick
      */
-    void on_kick(irccd& irccd, const kick_event& event) override;
+    void handle_kick(irccd& irccd, const kick_event& event) override;
 
     /**
-     * \copydoc plugin::on_load
+     * \copydoc plugin::handle_load
      */
-    void on_load(irccd& irccd) override;
+    void handle_load(irccd& irccd) override;
 
     /**
-     * \copydoc plugin::on_message
+     * \copydoc plugin::handle_message
      */
-    void on_message(irccd& irccd, const message_event& event) override;
+    void handle_message(irccd& irccd, const message_event& event) override;
 
     /**
-     * \copydoc plugin::on_me
+     * \copydoc plugin::handle_me
      */
-    void on_me(irccd& irccd, const me_event& event) override;
+    void handle_me(irccd& irccd, const me_event& event) override;
 
     /**
-     * \copydoc plugin::on_mode
+     * \copydoc plugin::handle_mode
      */
-    void on_mode(irccd& irccd, const mode_event& event) override;
+    void handle_mode(irccd& irccd, const mode_event& event) override;
 
     /**
-     * \copydoc plugin::on_names
+     * \copydoc plugin::handle_names
      */
-    void on_names(irccd& irccd, const names_event& event) override;
+    void handle_names(irccd& irccd, const names_event& event) override;
 
     /**
-     * \copydoc plugin::on_nick
+     * \copydoc plugin::handle_nick
      */
-    void on_nick(irccd& irccd, const nick_event& event) override;
+    void handle_nick(irccd& irccd, const nick_event& event) override;
 
     /**
-     * \copydoc plugin::on_notice
+     * \copydoc plugin::handle_notice
      */
-    void on_notice(irccd& irccd, const notice_event& event) override;
+    void handle_notice(irccd& irccd, const notice_event& event) override;
 
     /**
-     * \copydoc plugin::on_part
+     * \copydoc plugin::handle_part
      */
-    void on_part(irccd& irccd, const part_event& event) override;
+    void handle_part(irccd& irccd, const part_event& event) override;
 
     /**
-     * \copydoc plugin::on_reload
+     * \copydoc plugin::handle_reload
      */
-    void on_reload(irccd& irccd) override;
+    void handle_reload(irccd& irccd) override;
 
     /**
-     * \copydoc plugin::on_topic
+     * \copydoc plugin::handle_topic
      */
-    void on_topic(irccd& irccd, const topic_event& event) override;
+    void handle_topic(irccd& irccd, const topic_event& event) override;
 
     /**
-     * \copydoc plugin::on_unload
+     * \copydoc plugin::handle_unload
      */
-    void on_unload(irccd& irccd) override;
+    void handle_unload(irccd& irccd) override;
 
     /**
-     * \copydoc plugin::on_whois
+     * \copydoc plugin::handle_whois
      */
-    void on_whois(irccd& irccd, const whois_event& event) override;
+    void handle_whois(irccd& irccd, const whois_event& event) override;
 };
 
 /**
--- a/libirccd/irccd/daemon/plugin.hpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/libirccd/irccd/daemon/plugin.hpp	Thu Mar 15 12:56:26 2018 +0100
@@ -264,7 +264,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_command(irccd& irccd, const message_event& event)
+    virtual void handle_command(irccd& irccd, const message_event& event)
     {
         (void)irccd;
         (void)event;
@@ -276,7 +276,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_connect(irccd& irccd, const connect_event& event)
+    virtual void handle_connect(irccd& irccd, const connect_event& event)
     {
         (void)irccd;
         (void)event;
@@ -288,7 +288,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_disconnect(irccd& irccd, const disconnect_event& event)
+    virtual void handle_disconnect(irccd& irccd, const disconnect_event& event)
     {
         (void)irccd;
         (void)event;
@@ -300,7 +300,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_invite(irccd& irccd, const invite_event& event)
+    virtual void handle_invite(irccd& irccd, const invite_event& event)
     {
         (void)irccd;
         (void)event;
@@ -312,7 +312,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_join(irccd& irccd, const join_event& event)
+    virtual void handle_join(irccd& irccd, const join_event& event)
     {
         (void)irccd;
         (void)event;
@@ -324,7 +324,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_kick(irccd& irccd, const kick_event& event)
+    virtual void handle_kick(irccd& irccd, const kick_event& event)
     {
         (void)irccd;
         (void)event;
@@ -335,7 +335,7 @@
      *
      * \param irccd the irccd instance
      */
-    virtual void on_load(irccd& irccd)
+    virtual void handle_load(irccd& irccd)
     {
         (void)irccd;
     }
@@ -346,7 +346,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_message(irccd& irccd, const message_event& event)
+    virtual void handle_message(irccd& irccd, const message_event& event)
     {
         (void)irccd;
         (void)event;
@@ -358,7 +358,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_me(irccd& irccd, const me_event& event)
+    virtual void handle_me(irccd& irccd, const me_event& event)
     {
         (void)irccd;
         (void)event;
@@ -370,7 +370,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_mode(irccd& irccd, const mode_event& event)
+    virtual void handle_mode(irccd& irccd, const mode_event& event)
     {
         (void)irccd;
         (void)event;
@@ -382,7 +382,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_names(irccd& irccd, const names_event& event)
+    virtual void handle_names(irccd& irccd, const names_event& event)
     {
         (void)irccd;
         (void)event;
@@ -394,7 +394,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_nick(irccd& irccd, const nick_event& event)
+    virtual void handle_nick(irccd& irccd, const nick_event& event)
     {
         (void)irccd;
         (void)event;
@@ -406,7 +406,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_notice(irccd& irccd, const notice_event& event)
+    virtual void handle_notice(irccd& irccd, const notice_event& event)
     {
         (void)irccd;
         (void)event;
@@ -418,7 +418,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_part(irccd& irccd, const part_event& event)
+    virtual void handle_part(irccd& irccd, const part_event& event)
     {
         (void)irccd;
         (void)event;
@@ -429,7 +429,7 @@
      *
      * \param irccd the irccd instance
      */
-    virtual void on_reload(irccd& irccd)
+    virtual void handle_reload(irccd& irccd)
     {
         (void)irccd;
     }
@@ -440,7 +440,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_topic(irccd& irccd, const topic_event& event)
+    virtual void handle_topic(irccd& irccd, const topic_event& event)
     {
         (void)irccd;
         (void)event;
@@ -451,7 +451,7 @@
      *
      * \param irccd the irccd instance
      */
-    virtual void on_unload(irccd& irccd)
+    virtual void handle_unload(irccd& irccd)
     {
         (void)irccd;
     }
@@ -462,7 +462,7 @@
      * \param irccd the irccd instance
      * \param event the event
      */
-    virtual void on_whois(irccd& irccd, const whois_event& event)
+    virtual void handle_whois(irccd& irccd, const whois_event& event)
     {
         (void)irccd;
         (void)event;
--- a/libirccd/irccd/daemon/service/plugin_service.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/libirccd/irccd/daemon/service/plugin_service.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -51,7 +51,7 @@
 {
     for (const auto& plugin : plugins_) {
         try {
-            plugin->on_unload(irccd_);
+            plugin->handle_unload(irccd_);
         } catch (const std::exception& ex) {
             irccd_.log().warning() << "plugin: " << plugin->name() << ": " << ex.what() << std::endl;
         }
@@ -175,7 +175,7 @@
     plugin->set_formats(formats(name));
     plugin->set_paths(paths(name));
 
-    exec(plugin, &plugin::on_load, irccd_);
+    exec(plugin, &plugin::handle_load, irccd_);
     add(std::move(plugin));
 }
 
@@ -186,7 +186,7 @@
     if (!plugin)
         throw plugin_error(plugin_error::not_found, name);
 
-    exec(plugin, &plugin::on_reload, irccd_);
+    exec(plugin, &plugin::handle_reload, irccd_);
 }
 
 void plugin_service::unload(const std::string& name)
@@ -202,7 +202,7 @@
     auto save = *it;
 
     plugins_.erase(it);
-    exec(save, &plugin::on_unload, irccd_);
+    exec(save, &plugin::handle_unload, irccd_);
 }
 
 void plugin_service::load(const class config& cfg) noexcept
--- a/libirccd/irccd/daemon/service/server_service.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/libirccd/irccd/daemon/service/server_service.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -256,7 +256,7 @@
             return "onConnect";
         },
         [=] (plugin& plugin) {
-            plugin.on_connect(irccd_, ev);
+            plugin.handle_connect(irccd_, ev);
         }
     );
 }
@@ -277,7 +277,7 @@
             return "onDisconnect";
         },
         [=] (plugin& plugin) {
-            plugin.on_disconnect(irccd_, ev);
+            plugin.handle_disconnect(irccd_, ev);
         }
     );
 }
@@ -301,7 +301,7 @@
             return "onInvite";
         },
         [=] (plugin& plugin) {
-            plugin.on_invite(irccd_, ev);
+            plugin.handle_invite(irccd_, ev);
         }
     );
 }
@@ -324,7 +324,7 @@
             return "onJoin";
         },
         [=] (plugin& plugin) {
-            plugin.on_join(irccd_, ev);
+            plugin.handle_join(irccd_, ev);
         }
     );
 }
@@ -351,7 +351,7 @@
             return "onKick";
         },
         [=] (plugin& plugin) {
-            plugin.on_kick(irccd_, ev);
+            plugin.handle_kick(irccd_, ev);
         }
     );
 }
@@ -386,9 +386,9 @@
             copy.message = pack.message;
 
             if (pack.type == string_util::message_pack::type::command)
-                plugin.on_command(irccd_, copy);
+                plugin.handle_command(irccd_, copy);
             else
-                plugin.on_message(irccd_, copy);
+                plugin.handle_message(irccd_, copy);
         }
     );
 }
@@ -413,7 +413,7 @@
             return "onMe";
         },
         [=] (plugin& plugin) {
-            plugin.on_me(irccd_, ev);
+            plugin.handle_me(irccd_, ev);
         }
     );
 }
@@ -444,7 +444,7 @@
             return "onMode";
         },
         [=] (plugin &plugin) {
-            plugin.on_mode(irccd_, ev);
+            plugin.handle_mode(irccd_, ev);
         }
     );
 }
@@ -472,7 +472,7 @@
             return "onNames";
         },
         [=] (plugin& plugin) {
-            plugin.on_names(irccd_, ev);
+            plugin.handle_names(irccd_, ev);
         }
     );
 }
@@ -495,7 +495,7 @@
             return "onNick";
         },
         [=] (plugin& plugin) {
-            plugin.on_nick(irccd_, ev);
+            plugin.handle_nick(irccd_, ev);
         }
     );
 }
@@ -520,7 +520,7 @@
             return "onNotice";
         },
         [=] (plugin& plugin) {
-            plugin.on_notice(irccd_, ev);
+            plugin.handle_notice(irccd_, ev);
         }
     );
 }
@@ -545,7 +545,7 @@
             return "onPart";
         },
         [=] (plugin& plugin) {
-            plugin.on_part(irccd_, ev);
+            plugin.handle_part(irccd_, ev);
         }
     );
 }
@@ -570,7 +570,7 @@
             return "onTopic";
         },
         [=] (plugin& plugin) {
-            plugin.on_topic(irccd_, ev);
+            plugin.handle_topic(irccd_, ev);
         }
     );
 }
@@ -598,7 +598,7 @@
             return "onWhois";
         },
         [=] (plugin& plugin) {
-            plugin.on_whois(irccd_, ev);
+            plugin.handle_whois(irccd_, ev);
         }
     );
 }
--- a/tests/src/libirccd-js/js-plugin/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/libirccd-js/js-plugin/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -56,7 +56,7 @@
         { "path",       "none"  },
         { "verbose",    "false" }
     });
-    plugin_->on_load(irccd_);
+    plugin_->handle_load(irccd_);
 
     BOOST_TEST(plugin_->config().at("path") == "none");
     BOOST_TEST(plugin_->config().at("verbose") == "false");
@@ -71,7 +71,7 @@
         { "path",       "none"  },
         { "verbose",    "false" }
     });
-    plugin_->on_load(irccd_);
+    plugin_->handle_load(irccd_);
 
     BOOST_TEST(plugin_->config().at("path") == "none");
     BOOST_TEST(plugin_->config().at("verbose") == "false");
@@ -82,7 +82,7 @@
 {
     load("test", CMAKE_CURRENT_SOURCE_DIR "/config-fill.js");
 
-    plugin_->on_load(irccd_);
+    plugin_->handle_load(irccd_);
     plugin_->set_config({
         { "path",       "none"  },
         { "verbose",    "false" }
--- a/tests/src/libirccd-js/jsapi-timer/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/libirccd-js/jsapi-timer/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -47,7 +47,7 @@
         duk_pop_n(plugin_->context(), 2);
 
         plugin_->open();
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
--- a/tests/src/libirccd/command-plugin-load/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/libirccd/command-plugin-load/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -47,7 +47,7 @@
         public:
             using plugin::plugin;
 
-            void on_load(irccd&) override
+            void handle_load(irccd&) override
             {
                 throw std::runtime_error("broken");
             }
--- a/tests/src/libirccd/command-plugin-reload/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/libirccd/command-plugin-reload/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -37,7 +37,7 @@
     {
     }
 
-    void on_reload(irccd&) override
+    void handle_reload(irccd&) override
     {
         reloaded = true;
     }
@@ -47,7 +47,7 @@
 public:
     using plugin::plugin;
 
-    void on_reload(irccd&) override
+    void handle_reload(irccd&) override
     {
         throw std::runtime_error("broken");
     }
--- a/tests/src/libirccd/command-plugin-unload/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/libirccd/command-plugin-unload/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -37,7 +37,7 @@
     {
     }
 
-    void on_unload(irccd &) override
+    void handle_unload(irccd &) override
     {
         unloaded = true;
     }
@@ -47,7 +47,7 @@
 public:
     using plugin::plugin;
 
-    void on_unload(irccd&) override
+    void handle_unload(irccd&) override
     {
         throw std::runtime_error("broken");
     }
--- a/tests/src/libirccd/dynlib-plugin/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/libirccd/dynlib-plugin/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -55,143 +55,143 @@
 
 BOOST_FIXTURE_TEST_SUITE(dynlib_plugin_suite, fixture)
 
-BOOST_AUTO_TEST_CASE(on_command)
+BOOST_AUTO_TEST_CASE(handle_command)
 {
-    plugin_->on_command(irccd_, {server_, "", "", ""});
+    plugin_->handle_command(irccd_, {server_, "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_command");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_command");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_connect)
+BOOST_AUTO_TEST_CASE(handle_connect)
 {
-    plugin_->on_connect(irccd_, {server_});
+    plugin_->handle_connect(irccd_, {server_});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_connect");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_connect");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_invite)
+BOOST_AUTO_TEST_CASE(handle_invite)
 {
-    plugin_->on_invite(irccd_, {server_, "", "", ""});
+    plugin_->handle_invite(irccd_, {server_, "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_invite");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_invite");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_join)
+BOOST_AUTO_TEST_CASE(handle_join)
 {
-    plugin_->on_join(irccd_, {server_, "", ""});
+    plugin_->handle_join(irccd_, {server_, "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_join");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_join");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_kick)
+BOOST_AUTO_TEST_CASE(handle_kick)
 {
-    plugin_->on_kick(irccd_, {server_, "", "", "", ""});
+    plugin_->handle_kick(irccd_, {server_, "", "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_kick");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_kick");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_message)
+BOOST_AUTO_TEST_CASE(handle_message)
 {
-    plugin_->on_message(irccd_, {server_, "", "", ""});
+    plugin_->handle_message(irccd_, {server_, "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_message");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_message");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_me)
+BOOST_AUTO_TEST_CASE(handle_me)
 {
-    plugin_->on_me(irccd_, {server_, "", "", ""});
+    plugin_->handle_me(irccd_, {server_, "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_me");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_me");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_mode)
+BOOST_AUTO_TEST_CASE(handle_mode)
 {
-    plugin_->on_mode(irccd_, {server_, "", "", "", "", "", ""});
+    plugin_->handle_mode(irccd_, {server_, "", "", "", "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_mode");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_mode");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_names)
+BOOST_AUTO_TEST_CASE(handle_names)
 {
-    plugin_->on_names(irccd_, {server_, "", {}});
+    plugin_->handle_names(irccd_, {server_, "", {}});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_names");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_names");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_nick)
+BOOST_AUTO_TEST_CASE(handle_nick)
 {
-    plugin_->on_nick(irccd_, {server_, "", ""});
+    plugin_->handle_nick(irccd_, {server_, "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_nick");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_nick");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_notice)
+BOOST_AUTO_TEST_CASE(handle_notice)
 {
-    plugin_->on_notice(irccd_, {server_, "", "", ""});
+    plugin_->handle_notice(irccd_, {server_, "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_notice");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_notice");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_part)
+BOOST_AUTO_TEST_CASE(handle_part)
 {
-    plugin_->on_part(irccd_, {server_, "", "", ""});
+    plugin_->handle_part(irccd_, {server_, "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_part");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_part");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_topic)
+BOOST_AUTO_TEST_CASE(handle_topic)
 {
-    plugin_->on_topic(irccd_, {server_, "", "", ""});
+    plugin_->handle_topic(irccd_, {server_, "", "", ""});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_topic");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_topic");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
-BOOST_AUTO_TEST_CASE(on_whois)
+BOOST_AUTO_TEST_CASE(handle_whois)
 {
-    plugin_->on_whois(irccd_, {server_, {"", "", "", "", {}}});
+    plugin_->handle_whois(irccd_, {server_, {"", "", "", "", {}}});
 
     BOOST_TEST(server_->cqueue().size() == 1U);
     BOOST_TEST(server_->cqueue()[0]["command"].get<std::string>() == "message");
-    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "on_whois");
+    BOOST_TEST(server_->cqueue()[0]["message"].get<std::string>() == "handle_whois");
     BOOST_TEST(server_->cqueue()[0]["target"].get<std::string>() == "test");
 }
 
--- a/tests/src/libirccd/dynlib-plugin/test_plugin.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/libirccd/dynlib-plugin/test_plugin.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -26,74 +26,74 @@
 public:
     using plugin::plugin;
 
-    void on_command(irccd&, const message_event& event) override
+    void handle_command(irccd&, const message_event& event) override
     {
-        event.server->message("test", "on_command");
+        event.server->message("test", "handle_command");
     }
 
-    void on_connect(irccd&, const connect_event& event) override
+    void handle_connect(irccd&, const connect_event& event) override
     {
-        event.server->message("test", "on_connect");
+        event.server->message("test", "handle_connect");
     }
 
-    void on_invite(irccd&, const invite_event& event) override
+    void handle_invite(irccd&, const invite_event& event) override
     {
-        event.server->message("test", "on_invite");
+        event.server->message("test", "handle_invite");
     }
 
-    void on_join(irccd&, const join_event& event) override
+    void handle_join(irccd&, const join_event& event) override
     {
-        event.server->message("test", "on_join");
+        event.server->message("test", "handle_join");
     }
 
-    void on_kick(irccd&, const kick_event& event) override
+    void handle_kick(irccd&, const kick_event& event) override
     {
-        event.server->message("test", "on_kick");
+        event.server->message("test", "handle_kick");
     }
 
-    void on_message(irccd&, const message_event& event) override
+    void handle_message(irccd&, const message_event& event) override
     {
-        event.server->message("test", "on_message");
+        event.server->message("test", "handle_message");
     }
 
-    void on_me(irccd&, const me_event& event) override
+    void handle_me(irccd&, const me_event& event) override
     {
-        event.server->message("test", "on_me");
+        event.server->message("test", "handle_me");
     }
 
-    void on_mode(irccd&, const mode_event& event) override
+    void handle_mode(irccd&, const mode_event& event) override
     {
-        event.server->message("test", "on_mode");
+        event.server->message("test", "handle_mode");
     }
 
-    void on_names(irccd&, const names_event& event) override
+    void handle_names(irccd&, const names_event& event) override
     {
-        event.server->message("test", "on_names");
+        event.server->message("test", "handle_names");
     }
 
-    void on_nick(irccd&, const nick_event& event) override
+    void handle_nick(irccd&, const nick_event& event) override
     {
-        event.server->message("test", "on_nick");
+        event.server->message("test", "handle_nick");
     }
 
-    void on_notice(irccd&, const notice_event& event) override
+    void handle_notice(irccd&, const notice_event& event) override
     {
-        event.server->message("test", "on_notice");
+        event.server->message("test", "handle_notice");
     }
 
-    void on_part(irccd&, const part_event& event) override
+    void handle_part(irccd&, const part_event& event) override
     {
-        event.server->message("test", "on_part");
+        event.server->message("test", "handle_part");
     }
 
-    void on_topic(irccd&, const topic_event& event) override
+    void handle_topic(irccd&, const topic_event& event) override
     {
-        event.server->message("test", "on_topic");
+        event.server->message("test", "handle_topic");
     }
 
-    void on_whois(irccd&, const whois_event& event) override
+    void handle_whois(irccd&, const whois_event& event) override
     {
-        event.server->message("test", "on_whois");
+        event.server->message("test", "handle_whois");
     }
 };
 
--- a/tests/src/plugins/ask/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/ask/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -34,7 +34,7 @@
         plugin_->set_config({
             { "file", CMAKE_CURRENT_SOURCE_DIR "/answers.conf" }
         });
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
@@ -50,7 +50,7 @@
      * answers in that amount of tries.
      */
     for (int i = 0; i < 1000; ++i) {
-        plugin_->on_command(irccd_, {server_, "tester", "#dummy", ""});
+        plugin_->handle_command(irccd_, {server_, "tester", "#dummy", ""});
 
         auto cmd = server_->cqueue().front();
 
--- a/tests/src/plugins/auth/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/auth/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -49,7 +49,7 @@
             { "quakenet.password", "hello" },
             { "quakenet.username", "mario" }
         });
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
@@ -57,7 +57,7 @@
 
 BOOST_AUTO_TEST_CASE(nickserv1)
 {
-    plugin_->on_connect(irccd_, {nickserv1_});
+    plugin_->handle_connect(irccd_, {nickserv1_});
 
     auto cmd = nickserv1_->cqueue().front();
 
@@ -68,7 +68,7 @@
 
 BOOST_AUTO_TEST_CASE(nickserv2)
 {
-    plugin_->on_connect(irccd_, {nickserv2_});
+    plugin_->handle_connect(irccd_, {nickserv2_});
 
     auto cmd = nickserv2_->cqueue().front();
 
@@ -79,7 +79,7 @@
 
 BOOST_AUTO_TEST_CASE(quakenet)
 {
-    plugin_->on_connect(irccd_, {quakenet_});
+    plugin_->handle_connect(irccd_, {quakenet_});
 
     auto cmd = quakenet_->cqueue().front();
 
--- a/tests/src/plugins/hangman/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/hangman/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -54,7 +54,7 @@
             config.emplace("file", CMAKE_CURRENT_SOURCE_DIR "/words.conf");
 
         plugin_->set_config(config);
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
@@ -64,7 +64,7 @@
 {
     load({{ "collaborative", "false" }});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
 
     auto cmd = server_->cqueue().back();
 
@@ -72,14 +72,14 @@
     BOOST_TEST(cmd["target"].get<std::string>() == "#hangman");
     BOOST_TEST(cmd["message"].get<std::string>() == "start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _");
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
     BOOST_TEST(cmd["target"].get<std::string>() == "#hangman");
     BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -91,17 +91,17 @@
 {
     load({{ "collaborative", "false" }});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "a"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "b"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "c"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "d"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "e"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "f"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "g"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "h"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "i"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "j"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "a"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "b"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "c"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "d"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "e"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "f"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "g"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "h"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "i"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "j"});
 
     auto cmd = server_->cqueue().back();
 
@@ -114,8 +114,8 @@
 {
     load({{ "collaborative", "false" }});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
 
     auto cmd = server_->cqueue().back();
 
@@ -128,7 +128,7 @@
 {
     load();
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
 
     auto cmd = server_->cqueue().back();
 
@@ -141,10 +141,10 @@
 {
     load({{ "collaborative", "false" }});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "y"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "y"});
 
     auto cmd = server_->cqueue().back();
 
@@ -157,8 +157,8 @@
 {
     load({{ "collaborative", "false" }});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", "sky"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", "sky"});
 
     auto cmd = server_->cqueue().back();
 
@@ -171,8 +171,8 @@
 {
     load();
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "x"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "x"});
 
     auto cmd = server_->cqueue().back();
 
@@ -185,8 +185,8 @@
 {
     load();
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", "cheese"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", "cheese"});
 
     auto cmd = server_->cqueue().back();
 
@@ -200,8 +200,8 @@
     // Disable collaborative mode.
     load({{ "collaborative", "false" }});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
 
     auto cmd = server_->cqueue().back();
 
@@ -209,7 +209,7 @@
     BOOST_TEST(cmd["target"].get<std::string>() == "#hangman");
     BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -222,8 +222,8 @@
     // Enable collaborative mode.
     load({{ "collaborative", "true" }});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "s"});
 
     auto cmd = server_->cqueue().back();
 
@@ -231,14 +231,14 @@
     BOOST_TEST(cmd["target"].get<std::string>() == "#hangman");
     BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "k"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
     BOOST_TEST(cmd["target"].get<std::string>() == "#hangman");
     BOOST_TEST(cmd["message"].get<std::string>() == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k");
 
-    plugin_->on_message(irccd_, {server_, "francis!francis@localhost", "#hangman", "k"});
+    plugin_->handle_message(irccd_, {server_, "francis!francis@localhost", "#hangman", "k"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -250,8 +250,8 @@
 {
     load();
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#HANGMAN", "s"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#HANGMAN", "s"});
 
     auto cmd = server_->cqueue().back();
 
@@ -259,14 +259,14 @@
     BOOST_TEST(cmd["target"].get<std::string>() == "#hangman");
     BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _");
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#HaNGMaN", "k"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#HaNGMaN", "k"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
     BOOST_TEST(cmd["target"].get<std::string>() == "#hangman");
     BOOST_TEST(cmd["message"].get<std::string>() == "wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k");
 
-    plugin_->on_message(irccd_, {server_, "francis!francis@localhost", "#hAngmAn", "k"});
+    plugin_->handle_message(irccd_, {server_, "francis!francis@localhost", "#hAngmAn", "k"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -279,7 +279,7 @@
     load();
 
     // Query mode is never collaborative.
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "irccd", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "irccd", ""});
 
     auto cmd = server_->cqueue().back();
 
@@ -287,21 +287,21 @@
     BOOST_TEST(cmd["target"].get<std::string>() == "jean!jean@localhost");
     BOOST_TEST(cmd["message"].get<std::string>() == "start=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:_ _ _");
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "irccd", "s"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "irccd", "s"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
     BOOST_TEST(cmd["target"].get<std::string>() == "jean!jean@localhost");
     BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s _ _");
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "irccd", "k"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "irccd", "k"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
     BOOST_TEST(cmd["target"].get<std::string>() == "jean!jean@localhost");
     BOOST_TEST(cmd["message"].get<std::string>() == "found=hangman:!hangman:test:jean!jean@localhost:jean!jean@localhost:jean:s k _");
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "irccd", "sky"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "irccd", "sky"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -313,9 +313,9 @@
 {
     load();
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "y"});
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#hangman", "y"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
 
     auto cmd = server_->cqueue().back();
 
@@ -351,13 +351,13 @@
     unsigned last, current;
 
     // 1. Initial game + finish.
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
     last = server_->cqueue().back()["message"].get<std::string>().length();
     found.insert(last);
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[last]});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[last]});
 
     // 2. Current must not be the last one.
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
     current = server_->cqueue().back()["message"].get<std::string>().length();
 
     BOOST_TEST(last != current);
@@ -365,10 +365,10 @@
 
     found.insert(current);
     last = current;
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[current]});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", words[current]});
 
     // 3. Last word must be the one that is kept into the map.
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#hangman", ""});
     current = server_->cqueue().back()["message"].get<std::string>().length();
 
     BOOST_TEST(last != current);
--- a/tests/src/plugins/history/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/history/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -48,7 +48,7 @@
             config.emplace("file", CMAKE_CURRENT_SOURCE_DIR "/words.conf");
 
         plugin_->set_config(config);
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
@@ -58,7 +58,7 @@
 {
     load({{"file", CMAKE_CURRENT_SOURCE_DIR "/broken-conf.json"}});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#history", "seen francis"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#history", "seen francis"});
 
     auto cmd = server_->cqueue().front();
 
@@ -74,8 +74,8 @@
     remove(CMAKE_CURRENT_BINARY_DIR "/seen.json");
     load({{ "file", CMAKE_CURRENT_BINARY_DIR "/seen.json" }});
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
-    plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#history", "seen jean"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
+    plugin_->handle_command(irccd_, {server_, "destructor!dst@localhost", "#history", "seen jean"});
 
     auto cmd = server_->cqueue().front();
 
@@ -91,8 +91,8 @@
     remove(CMAKE_CURRENT_BINARY_DIR "/said.json");
     load({{ "file", CMAKE_CURRENT_BINARY_DIR "/said.json" }});
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
-    plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#history", "said jean"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
+    plugin_->handle_command(irccd_, {server_, "destructor!dst@localhost", "#history", "said jean"});
 
     auto cmd = server_->cqueue().front();
 
@@ -106,8 +106,8 @@
     remove(CMAKE_CURRENT_BINARY_DIR "/unknown.json");
     load({{ "file", CMAKE_CURRENT_BINARY_DIR "/unknown.json" }});
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
-    plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#history", "seen nobody"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
+    plugin_->handle_command(irccd_, {server_, "destructor!dst@localhost", "#history", "seen nobody"});
 
     auto cmd = server_->cqueue().front();
 
@@ -123,10 +123,10 @@
     remove(CMAKE_CURRENT_BINARY_DIR "/case.json");
     load({{"file", CMAKE_CURRENT_BINARY_DIR "/case.json"}});
 
-    plugin_->on_message(irccd_, {server_, "JeaN!JeaN@localhost", "#history", "hello"});
+    plugin_->handle_message(irccd_, {server_, "JeaN!JeaN@localhost", "#history", "hello"});
 
     // Full caps.
-    plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#HISTORY", "said JEAN"});
+    plugin_->handle_command(irccd_, {server_, "destructor!dst@localhost", "#HISTORY", "said JEAN"});
 
     auto cmd = server_->cqueue().front();
 
@@ -135,7 +135,7 @@
     BOOST_REQUIRE(std::regex_match(cmd["message"].get<std::string>(), rule));
 
     // Random caps.
-    plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#HiSToRy", "said JeaN"});
+    plugin_->handle_command(irccd_, {server_, "destructor!dst@localhost", "#HiSToRy", "said JeaN"});
 
     cmd = server_->cqueue().back();
 
--- a/tests/src/plugins/joke/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/joke/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -40,7 +40,7 @@
             config.emplace("file", CMAKE_CURRENT_SOURCE_DIR "/jokes.json");
 
         plugin_->set_config(config);
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
@@ -66,7 +66,7 @@
     load();
 
     auto call = [&] () {
-        plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
+        plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
 
         auto cmd = server_->cqueue().back();
 
@@ -105,7 +105,7 @@
     };
 
     auto call = [&] () {
-        plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
+        plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
 
         auto cmd = server_->cqueue().back();
 
@@ -137,7 +137,7 @@
     };
 
     auto call = [&] () {
-        plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
+        plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
 
         auto cmd = server_->cqueue().back();
 
@@ -163,7 +163,7 @@
 {
     load({{"file", "doesnotexist.json"}});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
 
     auto cmd = server_->cqueue().back();
 
@@ -176,7 +176,7 @@
 {
     load({{"file", CMAKE_CURRENT_SOURCE_DIR "/jokes-not-array.json"}});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
 
     auto cmd = server_->cqueue().back();
 
@@ -189,7 +189,7 @@
 {
     load({{"file", CMAKE_CURRENT_SOURCE_DIR "/jokes-empty.json"}});
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#joke", ""});
 
     auto cmd = server_->cqueue().back();
 
--- a/tests/src/plugins/logger/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/logger/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -63,7 +63,7 @@
             config.emplace("path", CMAKE_CURRENT_BINARY_DIR "/log.txt");
 
         plugin_->set_config(config);
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
@@ -73,7 +73,7 @@
 {
     load();
 
-    plugin_->on_join(irccd_, {server_, "jean!jean@localhost", "#staff"});
+    plugin_->handle_join(irccd_, {server_, "jean!jean@localhost", "#staff"});
 
     BOOST_REQUIRE_EQUAL("join=test:#staff:jean!jean@localhost:jean\n", last());
 }
@@ -82,7 +82,7 @@
 {
     load();
 
-    plugin_->on_kick(irccd_, {server_, "jean!jean@localhost", "#staff", "badboy", "please do not flood"});
+    plugin_->handle_kick(irccd_, {server_, "jean!jean@localhost", "#staff", "badboy", "please do not flood"});
 
     BOOST_REQUIRE_EQUAL("kick=test:#staff:jean!jean@localhost:jean:badboy:please do not flood\n", last());
 }
@@ -91,7 +91,7 @@
 {
     load();
 
-    plugin_->on_me(irccd_, {server_, "jean!jean@localhost", "#staff", "is drinking water"});
+    plugin_->handle_me(irccd_, {server_, "jean!jean@localhost", "#staff", "is drinking water"});
 
     BOOST_REQUIRE_EQUAL("me=test:#staff:jean!jean@localhost:jean:is drinking water\n", last());
 }
@@ -100,7 +100,7 @@
 {
     load();
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#staff", "hello guys"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#staff", "hello guys"});
 
     BOOST_REQUIRE_EQUAL("message=test:#staff:jean!jean@localhost:jean:hello guys\n", last());
 }
@@ -109,7 +109,7 @@
 {
     load();
 
-    plugin_->on_mode(irccd_, {server_, "jean!jean@localhost", "chris", "+i", "l", "u", "m"});
+    plugin_->handle_mode(irccd_, {server_, "jean!jean@localhost", "chris", "+i", "l", "u", "m"});
 
     BOOST_REQUIRE_EQUAL("mode=test:jean!jean@localhost:chris:+i:l:u:m\n", last());
 }
@@ -118,7 +118,7 @@
 {
     load();
 
-    plugin_->on_notice(irccd_, {server_, "jean!jean@localhost", "chris", "tu veux voir mon chat ?"});
+    plugin_->handle_notice(irccd_, {server_, "jean!jean@localhost", "chris", "tu veux voir mon chat ?"});
 
     BOOST_REQUIRE_EQUAL("notice=test:jean!jean@localhost:chris:tu veux voir mon chat ?\n", last());
 }
@@ -127,7 +127,7 @@
 {
     load();
 
-    plugin_->on_part(irccd_, {server_, "jean!jean@localhost", "#staff", "too noisy here"});
+    plugin_->handle_part(irccd_, {server_, "jean!jean@localhost", "#staff", "too noisy here"});
 
     BOOST_REQUIRE_EQUAL("part=test:#staff:jean!jean@localhost:jean:too noisy here\n", last());
 }
@@ -136,7 +136,7 @@
 {
     load();
 
-    plugin_->on_topic(irccd_, {server_, "jean!jean@localhost", "#staff", "oh yeah yeaaaaaaaah"});
+    plugin_->handle_topic(irccd_, {server_, "jean!jean@localhost", "#staff", "oh yeah yeaaaaaaaah"});
 
     BOOST_REQUIRE_EQUAL("topic=test:#staff:jean!jean@localhost:jean:oh yeah yeaaaaaaaah\n", last());
 }
@@ -145,7 +145,7 @@
 {
     load();
 
-    plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#STAFF", "hello guys"});
+    plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#STAFF", "hello guys"});
 
     BOOST_REQUIRE_EQUAL("message=test:#staff:jean!jean@localhost:jean:hello guys\n", last());
 }
--- a/tests/src/plugins/plugin/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/plugin/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -54,7 +54,7 @@
             { "not-found", "not-found=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{name}" },
             { "too-long", "too-long=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}" }
         });
-        plugin_->on_load(irccd_);
+        plugin_->handle_load(irccd_);
     }
 };
 
@@ -64,21 +64,21 @@
 {
     nlohmann::json cmd;
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#staff", ""});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#staff", ""});
     cmd = server_->cqueue().front();
 
     BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
     BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#staff");
     BOOST_REQUIRE_EQUAL(cmd["message"].get<std::string>(), "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean");
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#staff", "fail"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#staff", "fail"});
     cmd = server_->cqueue().front();
 
     BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
     BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#staff");
     BOOST_REQUIRE_EQUAL(cmd["message"].get<std::string>(), "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean");
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#staff", "info"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#staff", "info"});
     cmd = server_->cqueue().front();
 
     BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
@@ -88,7 +88,7 @@
 
 BOOST_AUTO_TEST_CASE(format_info)
 {
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#staff", "info fake"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#staff", "info fake"});
 
     auto cmd = server_->cqueue().front();
 
@@ -99,7 +99,7 @@
 
 BOOST_AUTO_TEST_CASE(format_not_found)
 {
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#staff", "info doesnotexistsihope"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#staff", "info doesnotexistsihope"});
 
     auto cmd = server_->cqueue().front();
 
@@ -113,7 +113,7 @@
     for (int i = 0; i < 100; ++i)
         irccd_.plugins().add(std::make_shared<plugin>(string_util::sprintf("plugin-n-%d", i), ""));
 
-    plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#staff", "list"});
+    plugin_->handle_command(irccd_, {server_, "jean!jean@localhost", "#staff", "list"});
 
     auto cmd = server_->cqueue().front();
 
--- a/tests/src/plugins/tictactoe/main.cpp	Wed Mar 14 14:08:34 2018 +0100
+++ b/tests/src/plugins/tictactoe/main.cpp	Thu Mar 15 12:56:26 2018 +0100
@@ -63,8 +63,8 @@
 
     auto start()
     {
-        plugin_->on_command(irccd_, {server_, "a!a@localhost", "#tictactoe", "b"});
-        plugin_->on_names(irccd_, {server_, "#tictactoe", {"a", "b"}});
+        plugin_->handle_command(irccd_, {server_, "a!a@localhost", "#tictactoe", "b"});
+        plugin_->handle_names(irccd_, {server_, "#tictactoe", {"a", "b"}});
 
         return next_players();
     }
@@ -82,7 +82,7 @@
 
         for (const auto& p : points) {
             server_->cqueue().clear();
-            plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", p});
+            plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", p});
             players = next_players();
         }
     }
@@ -96,7 +96,7 @@
 
     const auto players = next_players();
 
-    plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", "a 3"});
+    plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", "a 3"});
 
     const auto cmd = server_->cqueue().back();
 
@@ -126,7 +126,7 @@
 
     const auto players = next_players();
 
-    plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", "b 1"});
+    plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", "b 1"});
 
     const auto cmd = server_->cqueue().back();
 
@@ -148,8 +148,8 @@
 {
     auto players = start();
 
-    plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
-    plugin_->on_message(irccd_, {server_, players.second, "#tictactoe", "a 1"});
+    plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
+    plugin_->handle_message(irccd_, {server_, players.second, "#tictactoe", "a 1"});
 
     const auto cmd = server_->cqueue().back();
 
@@ -172,7 +172,7 @@
     nlohmann::json cmd;
 
     // empty name (no names)
-    plugin_->on_command(irccd_, {server_, "jean", "#tictactoe", ""});
+    plugin_->handle_command(irccd_, {server_, "jean", "#tictactoe", ""});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -180,7 +180,7 @@
     BOOST_TEST(cmd["message"].get<std::string>() == "invalid=#tictactoe:!tictactoe:jean:jean:tictactoe:test");
 
     // bot name (no names)
-    plugin_->on_command(irccd_, {server_, "jean", "#tictactoe", "irccd"});
+    plugin_->handle_command(irccd_, {server_, "jean", "#tictactoe", "irccd"});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -188,7 +188,7 @@
     BOOST_TEST(cmd["message"].get<std::string>() == "invalid=#tictactoe:!tictactoe:jean:jean:tictactoe:test");
 
     // target is origin (no names)
-    plugin_->on_command(irccd_, {server_, server_->nickname(), "#tictactoe", server_->nickname()});
+    plugin_->handle_command(irccd_, {server_, server_->nickname(), "#tictactoe", server_->nickname()});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -196,8 +196,8 @@
     BOOST_TEST(cmd["message"].get<std::string>() == "invalid=#tictactoe:!tictactoe:irccd:irccd:tictactoe:test");
 
     // not existing (names)
-    plugin_->on_command(irccd_, {server_, server_->nickname(), "#tictactoe", server_->nickname()});
-    plugin_->on_names(irccd_, {server_, "#tictactoe", {"a", "b", "c"}});
+    plugin_->handle_command(irccd_, {server_, server_->nickname(), "#tictactoe", server_->nickname()});
+    plugin_->handle_names(irccd_, {server_, "#tictactoe", {"a", "b", "c"}});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -226,7 +226,7 @@
         else
             b = true;
 
-        plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", "a 3"});
+        plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", "a 3"});
     }
 }
 
@@ -236,7 +236,7 @@
 
     server_->disconnect();
     server_->cqueue().clear();
-    plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
+    plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
 
     BOOST_TEST(server_->cqueue().empty());
 }
@@ -246,8 +246,8 @@
     auto players = start();
 
     server_->cqueue().clear();
-    plugin_->on_kick(irccd_, {server_, "kefka", "#tictactoe", players.first, ""});
-    plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
+    plugin_->handle_kick(irccd_, {server_, "kefka", "#tictactoe", players.first, ""});
+    plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
 
     BOOST_TEST(server_->cqueue().empty());
 }
@@ -257,8 +257,8 @@
     auto players = start();
 
     server_->cqueue().clear();
-    plugin_->on_part(irccd_, {server_, players.first, "#tictactoe", ""});
-    plugin_->on_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
+    plugin_->handle_part(irccd_, {server_, players.first, "#tictactoe", ""});
+    plugin_->handle_message(irccd_, {server_, players.first, "#tictactoe", "a 1"});
 
     BOOST_TEST(server_->cqueue().empty());
 }