added a lot more tests for propagating permissions with permission create, update and destroy.

implemented the above.

tests passing.

probably ready to merge to master.