Updated the framework to require listener and method

Listener can either be intanitated already, or a string to intiate the
component (component path)