Added FunctionBinder which allows any function to be bound in a component and attached to an entity