add dynamic dependency injection for methods and object instances
split field and param injection into different methods making them overridable
add support for interchangeable websocket/push/long-polling responses