+updateShares :: MTaskDevice ([MTaskShare] -> [MTaskShare]) -> Task [MTaskShare]
+
+//Clean out shares when a task has been removed
+cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare]
+//cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare]
+//Clean out shares when a device has been removed
+
+updateShareFromPublish :: MTaskDevice Int BCValue -> Task [MTaskShare]
+//updateShare :: Int BCValue -> Task [MTaskShare]
+
+getRealShare :: MTaskDevice MTaskShare -> Shared BCValue
+//getRealShare :: MTaskDevice BCShare -> Shared BCValue
+
+//updateShare :: Int BCValue -> Task ()