don't pass the object to target method, should not be aware of actual instance