Moved IRedstoneUser to API, added side detection