Add assign, unassign functions

Also has some changes around being more resty