Move to a new (external) handlers.
New utility methods to create different handlers
Polymorphic handling of different types using helper methods