Effect framework