Cleanup of interaction code, removed repeated code
Refactor to clean up properties