Assuming you don't want to use a third party library to handle the docking procedure, yes it can be done. Off the top of my head I can think of a few things you would have to do.

1. Create a...