Removed forward declarations and cleaned up code

The Effect problem needs to be solved another way